diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2021-08-12 13:23:04 +0200 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2021-08-16 21:01:03 +0200 |
commit | 2e25cf88e1e25c81841c6a55c5130e6ea2c36d78 (patch) | |
tree | e007e130d2cac7e00fc7eec8fc80129e179a307e /messagebus/src/main | |
parent | 7c5cedef9c920cd68f01039380fd3801a08732f2 (diff) |
Prefer final fields to post-construction modification
Diffstat (limited to 'messagebus/src/main')
5 files changed, 17 insertions, 30 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java index 1c41f87d1ee..a7efe6e0a8a 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java @@ -184,10 +184,8 @@ public class RPCNetwork implements Network, MethodHandler { } this.owner = owner; - RPCSendAdapter adapter1 = new RPCSendV1(); - RPCSendAdapter adapter2 = new RPCSendV2(); - addSendAdapter(new Version(5), adapter1); - addSendAdapter(new Version(6,149), adapter2); + sendAdapters.put(new Version(5), new RPCSendV1(this)); + sendAdapters.put(new Version(6,149), new RPCSendV2(this)); } @Override @@ -327,18 +325,6 @@ public class RPCNetwork implements Network, MethodHandler { } /** - * Registers a send adapter for a given version. This will overwrite whatever is already registered under the same - * version. - * - * @param version the version for which to register an adapter - * @param adapter the adapter to register - */ - private void addSendAdapter(Version version, RPCSendAdapter adapter) { - adapter.attach(this); - sendAdapters.put(version, adapter); - } - - /** * Determines and returns the send adapter that is compatible with the given version. If no adapter can be found, * this method returns null. * diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSend.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSend.java index 3f971a39d9b..5fc1f64866f 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSend.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSend.java @@ -31,9 +31,9 @@ import com.yahoo.text.Utf8Array; */ public abstract class RPCSend implements MethodHandler, ReplyHandler, RequestWaiter, RPCSendAdapter { - private RPCNetwork net = null; - private String clientIdent = "client"; - private String serverIdent = "server"; + private final RPCNetwork net; + private final String clientIdent; + private final String serverIdent; protected abstract Method buildMethod(); protected abstract String getReturnSpec(); @@ -43,13 +43,15 @@ public abstract class RPCSend implements MethodHandler, ReplyHandler, RequestWai protected abstract Params toParams(Values req); protected abstract void createResponse(Values ret, Reply reply, Version version, byte [] payload); - @Override - public final void attach(RPCNetwork net) { + protected RPCSend(RPCNetwork net) { this.net = net; String prefix = net.getIdentity().getServicePrefix(); if (prefix != null && prefix.length() > 0) { - clientIdent = "'" + prefix + "'"; - serverIdent = clientIdent; + this.serverIdent = this.clientIdent = "'" + prefix + "'"; + } + else { + this.clientIdent = "client"; + this.serverIdent = "server"; } net.getSupervisor().addMethod(buildMethod()); } diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendAdapter.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendAdapter.java index 749ba4f4451..ea6cf59726b 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendAdapter.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendAdapter.java @@ -13,13 +13,6 @@ import com.yahoo.messagebus.routing.RoutingNode; public interface RPCSendAdapter { /** - * Attaches this adapter to the given network. - * - * @param net The network to attach to. - */ - void attach(RPCNetwork net); - - /** * Performs the actual sending to the given recipient. * * @param recipient The recipient to send to. diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV1.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV1.java index ccded0e8d1b..e6d090e3d23 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV1.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV1.java @@ -33,8 +33,11 @@ public class RPCSendV1 extends RPCSend { private final String METHOD_PARAMS = "sssbilsxi"; private final String METHOD_RETURN = "sdISSsxs"; + protected RPCSendV1(RPCNetwork net) { super(net); } + @Override protected String getReturnSpec() { return METHOD_RETURN; } + @Override protected Method buildMethod() { diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV2.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV2.java index bb243651447..6ec3ea5ec7d 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV2.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV2.java @@ -35,8 +35,11 @@ public class RPCSendV2 extends RPCSend { private final static String METHOD_RETURN = "bixbix"; private final Compressor compressor = new Compressor(CompressionType.LZ4, 3, 0.90, 1024); + protected RPCSendV2(RPCNetwork net) { super(net); } + @Override protected String getReturnSpec() { return METHOD_RETURN; } + @Override protected Method buildMethod() { |