Author: alanmc
Date: 2008-02-16 20:21:31 -0500 (Sat, 16 Feb 2008)
New Revision: 95948

Modified:
   
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/StandardMessages/PieceMessage.cs
Log:
Changed logic in .Equals to be better. Cosmetic changes to Encode/Decode

Modified: 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/StandardMessages/PieceMessage.cs
===================================================================
--- 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/StandardMessages/PieceMessage.cs
 2008-02-17 00:56:29 UTC (rev 95947)
+++ 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/StandardMessages/PieceMessage.cs
 2008-02-17 01:21:31 UTC (rev 95948)
@@ -155,20 +155,21 @@
         public override int Encode(byte[] buffer, int offset)
         {
             int bytesRead = 0;
-            int written = Write(buffer, offset, messageLength + requestLength);
-            written += Write(buffer, offset + 4, MessageId);
-            written += Write(buffer, offset + 5, pieceIndex);
-            written += Write(buffer, offset + 9, startOffset);
+            int written = offset;
+            written += Write(buffer, written, messageLength + requestLength);
+            written += Write(buffer, written, MessageId);
+            written += Write(buffer, written, pieceIndex);
+            written += Write(buffer, written, startOffset);
 
             long pieceOffset = (long)this.PieceIndex * 
this.manager.FileManager.PieceLength + this.startOffset;
-            bytesRead = this.manager.FileManager.Read(buffer, offset + 13, 
pieceOffset, this.RequestLength);
+            bytesRead = this.manager.FileManager.Read(buffer, written, 
pieceOffset, this.RequestLength);
 
             if (bytesRead != this.RequestLength)
                 throw new MessageException("Could not read required data");
             written += bytesRead;
 
-            CheckWritten(written);
-            return written;
+            CheckWritten(written - offset);
+            return written - offset;
         }
 
         /// <summary>
@@ -181,9 +182,7 @@
             PieceMessage msg = obj as PieceMessage;
             return (msg == null) ? false : (this.pieceIndex == msg.pieceIndex
                                             && this.startOffset == 
msg.startOffset
-                                            && this.requestLength == 
msg.requestLength
-                                            && this.dataOffset == 
msg.dataOffset
-                                            && this.manager == msg.manager);
+                                            && this.requestLength == 
msg.requestLength);
         }
 
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to