diff options
Diffstat (limited to 'messagebus/src/main/java/com')
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java | 2 | ||||
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java | 21 |
2 files changed, 22 insertions, 1 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 0fd52e9bdbc..602c33bd6f4 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 @@ -82,7 +82,7 @@ public class RPCNetwork implements Network, MethodHandler { public RPCNetwork(RPCNetworkParams params, SlobrokConfigSubscriber slobrokConfig) { this.slobroksConfig = slobrokConfig; identity = params.getIdentity(); - orb = new Supervisor(new Transport(2)); + orb = new Supervisor(new Transport(params.getNumNetworkThreads(), params.getOptimization() == RPCNetworkParams.Optimization.LATENCY)); orb.setMaxInputBufferSize(params.getMaxInputBufferSize()); orb.setMaxOutputBufferSize(params.getMaxOutputBufferSize()); targetPool = new RPCTargetPool(params.getConnectionExpireSecs(), params.getNumTargetsPerSpec()); diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java index d6d7603f54a..e77cddd8b06 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java @@ -20,6 +20,9 @@ public class RPCNetworkParams { private int maxOutputBufferSize = 256 * 1024; private double connectionExpireSecs = 30; private int numTargetsPerSpec = 1; + private int numNetworkThreads = 2; + public enum Optimization {LATENCY, THROUGHPUT} + Optimization optimization = Optimization.LATENCY; /** * Constructs a new instance of this class with reasonable default values. @@ -42,6 +45,8 @@ public class RPCNetworkParams { maxInputBufferSize = params.maxInputBufferSize; maxOutputBufferSize = params.maxOutputBufferSize; numTargetsPerSpec = params.numTargetsPerSpec; + numNetworkThreads = params.numNetworkThreads; + optimization = params.optimization; } /** @@ -152,6 +157,22 @@ public class RPCNetworkParams { return numTargetsPerSpec; } + public RPCNetworkParams setNumNetworkThreads(int numNetworkThreads) { + this.numNetworkThreads = numNetworkThreads; + return this; + } + int getNumNetworkThreads() { + return numNetworkThreads; + } + + public RPCNetworkParams setOptimization(Optimization optimization) { + this.optimization = optimization; + return this; + } + Optimization getOptimization() { + return optimization; + } + /** * Returns the maximum input buffer size allowed for the underlying FNET connection. * |