From 65ff2c0afeb2561dc199d5e871e95ea3dfd5fa41 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Tue, 19 May 2015 21:56:21 +0000
Subject: [PATCH] i2psnark: Log tweaks and cleanups after testing

---
 .../src/org/klomp/snark/ExtensionHandler.java | 23 +++++++++++--------
 .../java/src/org/klomp/snark/Peer.java        |  6 ++---
 .../src/org/klomp/snark/PeerConnectionIn.java |  2 --
 .../org/klomp/snark/PeerConnectionOut.java    | 14 +++++++----
 .../java/src/org/klomp/snark/PeerState.java   | 10 ++++++--
 5 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java
index 001897764e..1835ffe90c 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/ExtensionHandler.java
@@ -90,17 +90,20 @@ abstract class ExtensionHandler {
             peer.setHandshakeMap(map);
             Map<String, BEValue> msgmap = map.get("m").getMap();
 
-            if (msgmap.get(TYPE_PEX) != null) {
-                if (log.shouldLog(Log.DEBUG))
-                    log.debug("Peer supports PEX extension: " + peer);
-                // peer state calls peer listener calls sendPEX()
-            }
+            if (log.shouldLog(Log.DEBUG))
+                log.debug("Peer " + peer + " supports extensions: " + msgmap.keySet());
 
-            if (msgmap.get(TYPE_DHT) != null) {
-                if (log.shouldLog(Log.DEBUG))
-                    log.debug("Peer supports DHT extension: " + peer);
-                // peer state calls peer listener calls sendDHT()
-            }
+            //if (msgmap.get(TYPE_PEX) != null) {
+            //    if (log.shouldLog(Log.DEBUG))
+            //        log.debug("Peer supports PEX extension: " + peer);
+            //    // peer state calls peer listener calls sendPEX()
+            //}
+
+            //if (msgmap.get(TYPE_DHT) != null) {
+            //    if (log.shouldLog(Log.DEBUG))
+            //        log.debug("Peer supports DHT extension: " + peer);
+            //    // peer state calls peer listener calls sendDHT()
+            //}
 
             MagnetState state = peer.getMagnetState();
 
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Peer.java b/apps/i2psnark/java/src/org/klomp/snark/Peer.java
index 9a4e3524db..d612ce0275 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Peer.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Peer.java
@@ -82,12 +82,12 @@ public class Peer implements Comparable<Peer>
   //  bytes per bt spec:                         0011223344556677
   private static final long OPTION_EXTENSION = 0x0000000000100000l;
   private static final long OPTION_FAST      = 0x0000000000000004l;
-  private static final long OPTION_DHT       = 0x0000000000000001l;
+  //private static final long OPTION_DHT       = 0x0000000000000001l;
   /** we use a different bit since the compact format is different */
 /* no, let's use an extension message
   static final long OPTION_I2P_DHT   = 0x0000000040000000l;
 */
-  private static final long OPTION_AZMP      = 0x1000000000000000l;
+  //private static final long OPTION_AZMP      = 0x1000000000000000l;
   private long options;
 
   /**
@@ -388,7 +388,7 @@ public class Peer implements Comparable<Peer>
     if (options != 0) {
         // send them something in runConnection() above
         if (_log.shouldLog(Log.DEBUG))
-            _log.debug("Peer supports options 0x" + Long.toString(options, 16) + ": " + toString());
+            _log.debug("Peer supports options 0x" + Long.toHexString(options) + ": " + toString());
     }
 
     return bs;
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionIn.java b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionIn.java
index 962034ab84..1f47b59b60 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionIn.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionIn.java
@@ -98,8 +98,6 @@ class PeerConnectionIn implements Runnable
               }
             
             byte b = din.readByte();
-            Message m = new Message();
-            m.type = b;
             switch (b)
               {
               case Message.CHOKE:
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java
index 6b11200b6a..194ae22cde 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerConnectionOut.java
@@ -286,6 +286,8 @@ class PeerConnectionOut implements Runnable
                     r.piece = m.piece;
                     r.begin = m.begin;
                     r.length = m.length;
+                    if (_log.shouldLog(Log.DEBUG))
+                        _log.debug("Send " + peer + ": " + r);
                     try {
                         r.sendMessage(dout);
                     } catch (IOException ioe) {}
@@ -525,7 +527,8 @@ class PeerConnectionOut implements Runnable
   }
 
   /**
-   *  Remove all Request messages from the queue
+   *  Remove all Request messages from the queue.
+   *  Does not send a cancel message.
    *  @since 0.8.2
    */
   void cancelRequestMessages() {
@@ -537,9 +540,12 @@ class PeerConnectionOut implements Runnable
       }
   }
 
-  // Called by the PeerState when the other side doesn't want this
-  // request to be handled anymore. Removes any pending Piece Message
-  // from out send queue.
+  /**
+   *  Called by the PeerState when the other side doesn't want this
+   *  request to be handled anymore. Removes any pending Piece Message
+   *  from out send queue.
+   *  Does not send a cancel message.
+   */
   void cancelRequest(int piece, int begin, int length)
   {
     synchronized (sendQueue)
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java
index 675b42bf11..cf29c415fb 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerState.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerState.java
@@ -165,9 +165,15 @@ class PeerState implements DataLoader
    *  @since 0.9.21
    */
   private void bitfieldMessage(byte[] bitmap, boolean isAll) {
+    if (_log.shouldLog(Log.DEBUG)) {
+        if (bitmap != null)
+            _log.debug(peer + " rcv bitfield bytes: " + bitmap.length);
+        else if (isAll) 
+            _log.debug(peer + " rcv bitfield HAVE_ALL");
+        else
+            _log.debug(peer + " rcv bitfield HAVE_NONE");
+    }
     synchronized(this) {
-        if (_log.shouldLog(Log.DEBUG))
-          _log.debug(peer + " rcv bitfield");
         if (bitfield != null)
           {
             // XXX - Be liberal in what you accept?
-- 
GitLab