summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-08-17 16:27:04 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-08-17 16:27:04 +0200
commitff34e29daf239a3658bf0003af50fc6bfd0cd9fa (patch)
tree1d0d4e85850667896316e8b25b64e7470b59d2e4 /messagebus
parentd28d1f071a30ae2708eb35fb6efba0227175dccc (diff)
Use protocol of latest owner
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/NetworkMultiplexer.java13
-rw-r--r--messagebus/src/test/java/com/yahoo/messagebus/network/NetworkMultiplexerTest.java3
2 files changed, 8 insertions, 8 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/NetworkMultiplexer.java b/messagebus/src/main/java/com/yahoo/messagebus/network/NetworkMultiplexer.java
index 4ebee093858..5e6a8c7688e 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/network/NetworkMultiplexer.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/network/NetworkMultiplexer.java
@@ -1,7 +1,6 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.messagebus.network;
-import com.yahoo.component.AbstractComponent;
import com.yahoo.messagebus.Message;
import com.yahoo.messagebus.Protocol;
import com.yahoo.text.Utf8Array;
@@ -81,12 +80,12 @@ public class NetworkMultiplexer implements NetworkOwner {
@Override
public Protocol getProtocol(Utf8Array name) {
- for (NetworkOwner owner : owners) {
- Protocol protocol = owner.getProtocol(name);
- if (protocol != null)
- return protocol;
- }
- return null;
+ // Should ideally couple this to the actual receiver ...
+ Protocol protocol = null;
+ for (NetworkOwner owner : owners)
+ protocol = owner.getProtocol(name) == null ? protocol : owner.getProtocol(name);
+
+ return protocol;
}
@Override
diff --git a/messagebus/src/test/java/com/yahoo/messagebus/network/NetworkMultiplexerTest.java b/messagebus/src/test/java/com/yahoo/messagebus/network/NetworkMultiplexerTest.java
index 544b4e84899..f1d83550601 100644
--- a/messagebus/src/test/java/com/yahoo/messagebus/network/NetworkMultiplexerTest.java
+++ b/messagebus/src/test/java/com/yahoo/messagebus/network/NetworkMultiplexerTest.java
@@ -60,8 +60,9 @@ public class NetworkMultiplexerTest {
Protocol protocol1 = new SimpleProtocol();
Protocol protocol2 = new SimpleProtocol();
owner1.protocols.put(name, protocol1);
- owner2.protocols.put(name, protocol2);
assertEquals(protocol1, shared.getProtocol(name));
+ owner2.protocols.put(name, protocol2);
+ assertEquals(protocol2, shared.getProtocol(name));
Message message1 = new SimpleMessage("one");
Message message2 = new SimpleMessage("two");