Author: alanmc
Date: 2008-02-17 07:39:04 -0500 (Sun, 17 Feb 2008)
New Revision: 95959

Modified:
   
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/LibtorrentMessages/LibtorrentMessage.cs
   trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/PeerMessage.cs
Log:
Cosmetic changes

Modified: 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/LibtorrentMessages/LibtorrentMessage.cs
===================================================================
--- 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/LibtorrentMessages/LibtorrentMessage.cs
  2008-02-17 07:34:31 UTC (rev 95958)
+++ 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/LibtorrentMessages/LibtorrentMessage.cs
  2008-02-17 12:39:04 UTC (rev 95959)
@@ -52,12 +52,10 @@
             CreateMessage creator;
             PeerMessage message;
 
-            byte id = buffer[offset];
-            if (messageDict.TryGetValue(buffer[offset], out creator))
-                message = creator(manager);
-            else
-                message = new UnknownMessage();
+            if (!messageDict.TryGetValue(buffer[offset], out creator))
+                return new UnknownMessage();
 
+            message = creator(manager);
             message.Decode(buffer, offset + 1, count);
             return message;
         }

Modified: 
trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/PeerMessage.cs
===================================================================
--- trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/PeerMessage.cs   
2008-02-17 07:34:31 UTC (rev 95958)
+++ trunk/bitsharp/src/MonoTorrent/MonoTorrent.Client/Messages/PeerMessage.cs   
2008-02-17 12:39:04 UTC (rev 95959)
@@ -17,6 +17,8 @@
         {
             messageDict = new Dictionary<byte, CreateMessage>();
 
+            // Note - KeepAlive messages aren't registered as they have no 
payload or ID and are never 'decoded'
+            //      - Handshake messages aren't registered as they are always 
the first message sent/received
             Register(AllowedFastMessage.MessageId,   delegate (TorrentManager 
manager) { return new AllowedFastMessage(); });
             Register(BitfieldMessage.MessageId,      delegate (TorrentManager 
manager) { return new BitfieldMessage(manager.Torrent.Pieces.Count); });
             Register(CancelMessage.MessageId,        delegate (TorrentManager 
manager) { return new CancelMessage(); });
@@ -52,17 +54,16 @@
         {
             PeerMessage message;
             CreateMessage creator;
+
             if (buffer[offset] == LibtorrentMessage.MessageId)
                 return LibtorrentMessage.DecodeMessage(buffer, offset + 1, 
count, manager);
 
+            if (!messageDict.TryGetValue(buffer[offset], out creator))
+                return new UnknownMessage();
 
-            if (messageDict.TryGetValue(buffer[offset], out creator))
-                message = creator(manager);
-            else
-                message = new UnknownMessage();
-
             // The message length is given in the second byte and the message 
body follows directly after that
             // We decode up to the number of bytes Received. If the message 
isn't complete, throw an exception
+            message = creator(manager);
             message.Decode(buffer, offset + 1, count);
             return message;
         }

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

Reply via email to