On Tue, Dec 06, 2005 at 12:01:29AM +0200, Jusa Saari wrote: > >From what I've understood, Freenet 0.7 is supposed to handle splitfiles > transparently, so that the inserting node fragments and the retrieving > node reassembles files automatically, without client programs needing to > know or care about the block dis/reassembly. Am I correct ?
Pretty much. However, clients (e.g. fproxy) can specify a maximum file size. > > Now, suppose that you have a large file; say, a Linux DVD image. Suppose > that you have inserted it with a program like Frost, which only inserts > the file when it receives a request for it (a must for sharing a large > amount of data). Suppose that just enough blocks have fallen to bitrot > that the file cannot be reassembled anymore; getting just a single block > reinserted might be enough. I dispute that inserting the file when you receive a request is "a must". > > In current system such a situation is easy to handle. You can simply ask > the inserter for the specific blocks. In the new Freenet, however, blocks > are hidden, so the retriever doesn't know which blocks failed, and the > inserter has no way of inserting just them. This means that he has to > reinsert the entire multi-gigabyte DVD image, which is a huge waste of > resources. > > Now, this could be solved by simply allowing access to the underlaying > block system, but that is needlessly complex and might lead to problems if > the block size or some other aspect of the system ever changes. Instead, > I'm suggesting that the insert request can specify the range of bytes to > insert; that is, when inserting the multi-gigabyte file, I can specify > that I only want to insert bytes form offset to offset2 (and of course I > should be able to specify multiple ranges). The retriever should similarly > get information of what byte ranges failed. Checkblocks could be assigned > to a logical range after the actual file data. Hmmm. You would of course end up reinserting an entire segment. > > The good sides of this idea are that it should be trivial to implement > (just don't insert the blocks that are completely outside all ranges) and > would allow inserting just the missing blocks without programs even > needing to know that Freenet uses block, much less any details of the > implementation. > > Comments ? Not vital at present IMHO. We'll see in future. -- Matthew J Toseland - toad at amphibian.dyndns.org Freenet Project Official Codemonkey - http://freenetproject.org/ ICTHUS - Nothing is impossible. Our Boss says so. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/tech/attachments/20051205/ffa299ce/attachment.pgp>
