Hi all,
I never really understood why it is possible to ask Transmission to prioritize a file over other ones (even within one single torrent) but not parts of it over other ones. By prioritizing the beginning of a file, for example, you get to read the metadata early on and do things accordingly. If it is a video, you can start watching it.
Is it in some way against the very way torrents work? Is it doable?
Cheers,
Flo
Prioritize parts within file
-
- Posts: 552
- Joined: Sun Dec 13, 2009 10:44 pm
Re: Prioritize parts within file
I'm sure it's doable, and the only non-technical reason that I can see against it is the notion of requesting the pieces that are least frequent and/or present so that you not only "even out" the spread of pieces but also increase your chance of actually completing the whole torrent. From a practicality point I believe Transmission has chosen to stay with individual files since that is the "smallest" part that you can choose to download. I have heard about other torrent clients that essentially stream torrents by prioritizing the beginning.
The bigger question with your suggestion is more of how fine grained that kind of control you want, I mean is half of a file good enough, a quarter file, a tenth of a file or should we be able to prioritize individual pieces.
The bigger question with your suggestion is more of how fine grained that kind of control you want, I mean is half of a file good enough, a quarter file, a tenth of a file or should we be able to prioritize individual pieces.
Re: Prioritize parts within file
this I implemented a variation once for the 2.7x branch and it seemed to work OK but I never fully tested it. It has since been reverted in the changesets. I think it should work fine for the 2.8x branches if someone wants to work on it. I can no longer find the patch I had for v2.77.
"Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
https://trac.transmissionbt.com/changeset/9816
Changeset 9816
View differences
Show lines around each change
Show the changes in full context
Ignore:
Blank lines
Case changes
White space changes
Timestamp:
12/24/09 01:02:54 (4 years ago)
Author:
charles
Message:
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
Location:
trunk/libtransmission
Files:
6 edited
peer-mgr.c (5 diffs)
resume.c (4 diffs)
resume.h (1 diff)
torrent.c (1 diff)
torrent.h (1 diff)
transmission.h (2 diffs)
"Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
https://trac.transmissionbt.com/changeset/9816
Changeset 9816
View differences
Show lines around each change
Show the changes in full context
Ignore:
Blank lines
Case changes
White space changes
Timestamp:
12/24/09 01:02:54 (4 years ago)
Author:
charles
Message:
(trunk libT) #2632 "Add streaming capability to libtransmission (but not the Transmission GUI clients)" -- implemented
Location:
trunk/libtransmission
Files:
6 edited
peer-mgr.c (5 diffs)
resume.c (4 diffs)
resume.h (1 diff)
torrent.c (1 diff)
torrent.h (1 diff)
transmission.h (2 diffs)
Re: Prioritize parts within file
I found my old patch and really looked it over and fixed it up. I decided it would be good to use for, on those sites that post videos that you can either http download directly or that also have the same torrents with the webseeds for the http imbedded in them. So this way I can stream the video and share it at the same time. Otherwise I might just stream it alone via their http direct and never share it at all. So here is my implementation.
http://sourceforge.net/p/transmissionda ... dc6d/#da45
https://github.com/cfpp2p/transmission/ ... e8e05c0861
http://sourceforge.net/p/transmissionda ... dc6d/#da45
https://github.com/cfpp2p/transmission/ ... e8e05c0861
It is really only for webseeds and I have maintained my fork as to be very stable for webseeds. I don't know if trunk is stable yet on webseeds yet as I don't use it very often except for other bug testing.Some of the worst things you can do to harm the swarm is to download with very low or no upload speed, or to stop immediately after completing files ( hit and run ) and with never uploaded anything at all. Even if you only download a portion of the files of a multi-file torrent you should still seed what you've got. Lets never do these type of things.
This feature will attempt to download the pieces in order, not the torrent's individual files. To prevent detrimental effects to the swarm don't use with small incomplete swarms, only those with plenty of good seeders. A torrent with multiple webseeds, a large swarm of seeders and very few or no leechers is best. Don't abuse. Try the "Weak" mode first before any of the stronger modes.
When streaming the file(s) of a torrent, the buffer at the front of each file helps maintain the swarm health but you should still only stream under the ideal conditions described above.
Seed as long as you can and keep as high of an upload rate as possible.