I was wrong: It is possible with HTTP/1.0 - and it would be possible for LimeWire, as it is now, to do that.
If a host would allow the uploading incomplete files, it would have to keep track of which parts of the files were written (which it does anyway) and if a part of a file is requested, it would have to return any sub-part of it. The downloading host would than see, that it is not the part it specified and could adopt to it quite easily.
I played around with the source code a bit (no I'm not a programmer and all my attempts to modify limewire are somewhat amateurish, but I'm trying to learn java), and I don't think it's worth the trouble right now. Once HUGE with hashes et al is implemented it would be far easier to implement, when you could get a file by its SHA1-hash instead of its name.
One major problem is the following: Sharing incomplete files would make corruptions happen far more often. Right now, LimeWire will detect, if a file was corrupted through swarming in the process of download. With uploading incomplete files, however, it could upload corrupted file parts it didn't detect yet, which could spread pretty fast through the network. |