I wonder if I change the torrent file format for (a+b) files with the modification of btmakemetafile.py. The final piece in file a does not overlap with file b which means that file a hash and file b hash have clear boundary in torrent file. Can I still download smoothly with current bittorrent program ?<div>
<br></div><div>thanks a lot !<br><br><div class="gmail_quote">2010/4/9 Alan McGovern <span dir="ltr">&lt;<a href="mailto:alan.mcgovern@gmail.com">alan.mcgovern@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
In the bittorrent protocol you treat all the files in your torrent as<br>
if they were one continuous file. This single continous file is split<br>
into pieces (in your case of size 256kb) and hashed. The final piece<br>
will be &lt;= 256kB. It has no special handling except for the fact that<br>
it is not guaranteed to be exactly &#39;PieceLength&#39; bytes in size as all<br>
other pieces are. In all other ways, the last piece is identical to<br>
every other piece.<br>
<br>
Blocks are always 16kB (as per defacto standard) except for the very<br>
last block which will be &lt;= 16kB. As before, this has no special<br>
handling except for the fact its size may be less than 16kB whereas<br>
all other blocks are guaranteed to be 16kB in length. In all other<br>
ways it is identical to other blocks<br>
<br>
Hope that helps.<br>
<font color="#888888"><br>
Alan.<br>
</font><div><div></div><div class="h5"><br>
On Fri, Apr 9, 2010 at 10:51 PM, Song Zhang &lt;<a href="mailto:songzhang2008@gmail.com">songzhang2008@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt; I have a question about the structure of multifile torrent file<br>
&gt; for example, I have two files a and b, and put them into one directory. I am<br>
&gt; trying to create one torrent file including the contents of these two files.<br>
&gt; I am wondering how the system handling the last piece less than 256k for<br>
&gt; each file of a and b,<br>
&gt; size(a) = n * 256k + a1<br>
&gt; size(b) = m * 256k + b1<br>
&gt; a1 and b1 above all less than 256k<br>
&gt; the question is:<br>
&gt; 1. when generating torrent files, for the ”pieces“ part of info dictionary<br>
&gt; of torrent file, there should be two SHA1 value from pieces less than 256k,<br>
&gt; right ?  Although the SHA1 value of each piece (no matter greater or less<br>
&gt; than 256k) is always 20bytes.<br>
&gt; 2. but I don&#39;t understand during the data transfer period, the pieces are<br>
&gt; divided into blocks and how to handle these pieces less than 256k ?<br>
&gt; thanks a lot for the help !!<br>
</div></div><div><div></div><div class="h5">&gt; _______________________________________________<br>
&gt; BitTorrent mailing list<br>
&gt; <a href="mailto:BitTorrent@lists.ibiblio.org">BitTorrent@lists.ibiblio.org</a><br>
&gt; <a href="http://lists.ibiblio.org/mailman/listinfo/bittorrent" target="_blank">http://lists.ibiblio.org/mailman/listinfo/bittorrent</a><br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>