sniperdz48 Posted January 8, 2011 Share Posted January 8, 2011 As the question says, I want to be able to download a specified number of pieces at the same time, for example to be able to download only 2 pieces at the same time wether it's 2 or multiple sources. Link to comment Share on other sites More sharing options...
greywizard Posted January 8, 2011 Share Posted January 8, 2011 Do you care to explain us, what's the whole idea behind this? Anyway, to answer your question quickly, there is no way to do this in BitComet nor in any other BitTorrent client that I know of. The easiest way to do this, would probably be to write your own BitTorrent client, where you could tell it to do what you please. Piece download is managed automatically, as it's the heart of the whole download process, and the number of pieces requested simultaneously is not necessary the number of pieces that will be received (you have to take into account that once you've connected to a peer, you can't predict WHEN you will be unchoked in case you start the connection in choked mode). It's usually a bad idea to believe that you can think faster or better then the computer can, when it comes to these type of things. There are lots of variables to consider in every second and what's worse (for you), they change constantly throughout the whole process. Why would anyone want to do that is beyond me. Unless you enlighten us. Link to comment Share on other sites More sharing options...
kluelos Posted January 8, 2011 Share Posted January 8, 2011 Whatever you're thinking, you should be aware that bittorrent transfers are done in blocks. The blocks are then assembled into pieces which are then written to disk or cached for same. Each individual transfer to you is one block, under the terms and conditions of active and accepted transfers. This is to say that there's no assurance you will download all of the blocks of one piece, from the same source. Link to comment Share on other sites More sharing options...
sniperdz48 Posted January 9, 2011 Author Share Posted January 9, 2011 Whatever you're thinking, you should be aware that bittorrent transfers are done in blocks. The blocks are then assembled into pieces which are then written to disk or cached for same. Each individual transfer to you is one block, under the terms and conditions of active and accepted transfers. This is to say that there's no assurance you will download all of the blocks of one piece, from the same source. Thanks I didn't know that, meaning I can't do what I want to do. So I think I should download torrents which have smaller piece parts to avoid the same piece being downloaded again. Link to comment Share on other sites More sharing options...
The UnUsual Suspect Posted January 9, 2011 Share Posted January 9, 2011 Can you explain your thinking here, because it sounds like you feel you can manually decide what should be downloaded and how to go about it better then your computer can determine this. What I can assure you is unless your smarter then albert einstein and can think faster then about a million people at the same time, then you won't be nearly as efficient as a 20 year old computer at handling data, so what exactly are you trying to do? Link to comment Share on other sites More sharing options...
greywizard Posted January 9, 2011 Share Posted January 9, 2011 You don't really make much sense. What makes you think that piece size has anything to do with the piece being downloaded again? Besides, what does that have to do with "torrents with smaller piece parts"? And how can you even see the "piece part" size, since block size is being negotiated between every pair of peers and you can't see it anywhere in the user interface? Link to comment Share on other sites More sharing options...
sniperdz48 Posted January 10, 2011 Author Share Posted January 10, 2011 "I am smarter than Albert Einstein." I have a VERY limited & slow internet connection so when downloading, let's say, a 4 mB piece ( Got 256 kbps Internet, and with torrents it'll be around 20 kB/s so downloading a 4 mB piece will take around 3 and a half minutes) I get disconnected from peers or whatever happens, so I have to start downloading the piece again. I showed a picture of this before and I downloaded an extra 600 mB due to this. The reason I want to set the number of pieces downloade at the same time is that I only want 2 pieces downloaded because I keep downloading many pieces at from 1 to 5 kB (that would take from 1 hour to 15 minutes in the 4 mB piece example) and I keep redownloading some of em so I figured if it's a 32 kB pieces torrent for example it would take less time to download a piece and save it (and not risking redownloading it). Clear enough? Link to comment Share on other sites More sharing options...
kluelos Posted January 10, 2011 Share Posted January 10, 2011 Hmm, well, you don't necessarily know this. That is, you are making the assumption that you are starting to download pieces all over again when this might not be the case. BitComet doesn't track or report on blocks, only on pieces. So, if a piece isn't complete from one source, the remainder must be gotten from others. I can see where this transition might look like starting over instead of continuing onwards with the piece. You should try to make sure there really is a problem, though I can't quite think how you'd do that. Link to comment Share on other sites More sharing options...
greywizard Posted January 10, 2011 Share Posted January 10, 2011 If you're downloading EXTRA data as compared to the reported size of the torrent, the issue is entirely a different one. It means that you're downloading garbage data. Read this Wiki FAQ topic for info on that: What is “rubbish data” and why am I downloading so much of it? A piece once it was finished downloading (that is, all the composing blocks for it have been downloaded and assembled into the piece) will be checked by the downloading client, against the corresponding piece-hash from the .torrent file (each piece of the torrent has a calculated hash which is stored into the .torrent file at creation time) by calculating again the hash on the downloaded data. If the 2 hashes don't match, this is a sign for the client that some data was corrupted along the way and that the piece doesn't contain the original data, from the torrent maker. Therefore, the client discards that piece and tries to re-download it, as it's useless. Even though peers use blocks to transfer data between them, the base data unit for a torrent client is still the piece, since it's only for pieces that the client possesses hashes, not for blocks. Therefore, even if it's only a single block that was corrupted when assembling the piece, nonetheless the whole piece will be discarded, since the client has no way of telling which block was the bad one. If you're constantly getting garbage data for all torrents it pretty much means that you're having connection issues. Selecting torrents with smaller piece size could aid you only in that your client perhaps won't have to discard so much data (since if a piece fails hash check, there will be less data thrown away for each piece) but it won't fix your connection problems. You'll probably still download some amount of rubbish data, anyway. Link to comment Share on other sites More sharing options...
sniperdz48 Posted January 11, 2011 Author Share Posted January 11, 2011 Thank you so much all. I'll think I'll try the simpler solution, getting a faster Internet. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now