diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-04-13 00:07:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-13 00:07:30 +0200 |
commit | ae82a773950ead2c4113652cc3a3a1df62a11934 (patch) | |
tree | 8bb68ab0da40a71c082ae0d9c7e7f508a44c511b /messagebus | |
parent | 1895b0b1cd32eebf22d75c2e131234fccd049428 (diff) |
Revert "Revert "Reply in own thread""
Diffstat (limited to 'messagebus')
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/Messenger.java | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java b/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java index 2cb2f0967e5..7211e4cead0 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/Messenger.java @@ -78,7 +78,11 @@ public class Messenger implements Runnable { * @param handler The handler to return to. */ public void deliverReply(final Reply reply, final ReplyHandler handler) { - enqueue(new ReplyTask(reply, handler)); + if (destroyed.get()) { + reply.discard(); + } else { + handler.handleReply(reply); + } } /** @@ -208,31 +212,6 @@ public class Messenger implements Runnable { void destroy(); } - private static class ReplyTask implements Task { - - final ReplyHandler handler; - Reply reply; - - ReplyTask(final Reply reply, final ReplyHandler handler) { - this.reply = reply; - this.handler = handler; - } - - @Override - public void run() { - final Reply reply = this.reply; - this.reply = null; - handler.handleReply(reply); - } - - @Override - public void destroy() { - if (reply != null) { - reply.discard(); - } - } - } - private static class SyncTask implements Task { final CountDownLatch latch = new CountDownLatch(1); |