Arvid Norberg | 5 Jan 2007 02:34
Picon
Picon
Favicon

Re: filter_files() implementation

Hi.

I have been thinking about this problem a bit on and off. It is a  
feature that is quite requested.
So far I haven't found a solution that I'm satisfied with (either  
because of lack of functionality or complexity in implementation). I  
wrote a post about this some time ago, it can be found here:

http://article.gmane.org/gmane.network.bit-torrent.libtorrent/829

So, in short, the "problem" is that the storage need a more advanced  
interface where it is possible to tell it which files should not be  
created, and it should instead map some data to some file only  
containing left overs. This also requires more logic in the initial  
checker, since it need to take into account that some parts of some  
pieces may be stored at other places.

On Jan 4, 2007, at 5:45 , James Longstreet wrote:

> Hello,
>
> The main selling point of the client I'm working on is selective
> downloading.  It just about couldn't be easier than
> torrent_handle::filter_files().
>
> The only problem is the pieces that overlap between a filtered file  
> and
> an unfiltered file.  Obviously we have to download these pieces,  
> and we
> have to write at least the parts of the pieces corresponding to
> unfiltered files.  But should the filtered files be created in the  
> first
> place?  In full allocation mode, for instance, we may be wasting
> multiple gigabytes of disk space.
>
> The only problem I can see with this approach is that we can't upload
> the edge pieces if we don't store them.
>
> I'm interested in figuring out if there's a good way to implement
> filtered files that create corrupt partially downloaded files.
>
> Any suggestions?

I would gladly get any suggestions for this.

One possible "solution" could be to introduce a new allocation mode,  
which is
"sparse full allocation". I believe this is what Azureus does.

--
Arvid Norberg

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Gmane