From 0d622660088c146a2af484d714b259d40d8d969e Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 8 Sep 2012 14:04:01 +0000
Subject: [PATCH]   * ClientConnectionRunner: Run MessageReceivedJob inline for
 speed

---
 .../src/net/i2p/router/client/ClientConnectionRunner.java     | 4 +++-
 router/java/src/net/i2p/router/client/MessageReceivedJob.java | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
index b50d0d1953..cb5f7d1c9c 100644
--- a/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
+++ b/router/java/src/net/i2p/router/client/ClientConnectionRunner.java
@@ -375,7 +375,9 @@ class ClientConnectionRunner {
     void receiveMessage(Destination toDest, Destination fromDest, Payload payload) {
         if (_dead) return;
         MessageReceivedJob j = new MessageReceivedJob(_context, this, toDest, fromDest, payload);
-        _context.jobQueue().addJob(j);//j.runJob();
+        // This is fast and non-blocking, run in-line
+        //_context.jobQueue().addJob(j);
+        j.runJob();
     }
     
     /**
diff --git a/router/java/src/net/i2p/router/client/MessageReceivedJob.java b/router/java/src/net/i2p/router/client/MessageReceivedJob.java
index 92d4cb5355..b8def25a97 100644
--- a/router/java/src/net/i2p/router/client/MessageReceivedJob.java
+++ b/router/java/src/net/i2p/router/client/MessageReceivedJob.java
@@ -25,6 +25,7 @@ class MessageReceivedJob extends JobImpl {
     private final Log _log;
     private final ClientConnectionRunner _runner;
     private final Payload _payload;
+
     public MessageReceivedJob(RouterContext ctx, ClientConnectionRunner runner, Destination toDest, Destination fromDest, Payload payload) {
         super(ctx);
         _log = ctx.logManager().getLog(MessageReceivedJob.class);
@@ -33,6 +34,7 @@ class MessageReceivedJob extends JobImpl {
     }
     
     public String getName() { return "Deliver New Message"; }
+
     public void runJob() {
         if (_runner.isDead()) return;
         MessageId id = new MessageId();
@@ -44,7 +46,7 @@ class MessageReceivedJob extends JobImpl {
     /**
      * Deliver notification to the client that the given message is available.
      */
-    public void messageAvailable(MessageId id, long size) {
+    private void messageAvailable(MessageId id, long size) {
         if (_log.shouldLog(Log.DEBUG))
             _log.debug("Sending message available: " + id + " to sessionId " + _runner.getSessionId() 
                        + " (with nonce=1)", new Exception("available"));
-- 
GitLab