aboutsummaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2021-08-12 13:23:04 +0200
committerJon Marius Venstad <venstad@gmail.com>2021-08-16 21:01:03 +0200
commit2e25cf88e1e25c81841c6a55c5130e6ea2c36d78 (patch)
treee007e130d2cac7e00fc7eec8fc80129e179a307e /messagebus
parent7c5cedef9c920cd68f01039380fd3801a08732f2 (diff)
Prefer final fields to post-construction modification
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java18
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSend.java16
-rwxr-xr-xmessagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendAdapter.java7
-rwxr-xr-xmessagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV1.java3
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCSendV2.java3
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() {