[REEF-1231] Share the Transport between NameLookupClient and NameClient
* Adding a public constructor of NameLookupClient
* Removing NameLookupClient injection from NameClient
JIRA:
[REEF-1231](https://issues.apache.org/jira/browse/REEF-1231)
Pull Request:
This closes #887
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
index f5985c3..7e1a4eb 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java
@@ -74,8 +74,7 @@
@Parameter(NameResolverRetryCount.class) final int retryCount,
@Parameter(NameResolverRetryTimeout.class) final int retryTimeout,
final LocalAddressProvider localAddressProvider,
- final TransportFactory tpFactory,
- final NameLookupClient lookupClient) {
+ final TransportFactory tpFactory) {
final BlockingQueue<NamingLookupResponse> replyLookupQueue = new LinkedBlockingQueue<>();
final BlockingQueue<NamingRegisterResponse> replyRegisterQueue = new LinkedBlockingQueue<>();
@@ -86,7 +85,8 @@
new NamingResponseHandler(replyLookupQueue, replyRegisterQueue), codec)),
null, retryCount, retryTimeout);
- this.lookupClient = lookupClient;
+ this.lookupClient = new NameLookupClient(serverAddr, serverPort, timeout, factory,
+ retryCount, retryTimeout, replyLookupQueue, this.transport);
this.registryClient = new NameRegistryClient(serverAddr, serverPort, timeout,
factory, replyRegisterQueue, this.transport);
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
index efc61a6..327b9d6 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java
@@ -72,6 +72,37 @@
private final int retryCount;
private final int retryTimeout;
+
+ /**
+ * Constructs a naming lookup client.
+ *
+ * @param serverAddr a server address
+ * @param serverPort a server port number
+ * @param timeout request timeout in ms
+ * @param factory an identifier factory
+ * @param retryCount a count of retrying lookup
+ * @param retryTimeout retry timeout
+ * @param replyQueue a reply queue
+ * @param transport a transport
+ */
+ NameLookupClient(final String serverAddr,
+ final int serverPort,
+ final long timeout,
+ final IdentifierFactory factory,
+ final int retryCount,
+ final int retryTimeout,
+ final BlockingQueue<NamingLookupResponse> replyQueue,
+ final Transport transport) {
+ this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
+ this.timeout = timeout;
+ this.cache = new NameCache(timeout);
+ this.codec = NamingCodecFactory.createFullCodec(factory);
+ this.replyQueue = replyQueue;
+ this.retryCount = retryCount;
+ this.retryTimeout = retryTimeout;
+ this.transport = transport;
+ }
+
/**
* Constructs a naming lookup client.
*
@@ -91,7 +122,6 @@
@Parameter(NameResolverRetryTimeout.class) final int retryTimeout,
final LocalAddressProvider localAddressProvider,
final TransportFactory tpFactory) {
-
this.serverSocketAddr = new InetSocketAddress(serverAddr, serverPort);
this.timeout = timeout;
this.cache = new NameCache(timeout);
diff --git a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java
index a3de2b6..e354efe 100644
--- a/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java
+++ b/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java
@@ -70,7 +70,7 @@
* @param serverPort a name server port
* @param factory an identifier factory
*/
- public NameRegistryClient(
+ NameRegistryClient(
final String serverAddr, final int serverPort, final IdentifierFactory factory,
final LocalAddressProvider localAddressProvider) {
this(serverAddr, serverPort, 10000, factory, localAddressProvider);
@@ -84,7 +84,7 @@
* @param timeout timeout in ms
* @param factory an identifier factory
*/
- public NameRegistryClient(final String serverAddr,
+ NameRegistryClient(final String serverAddr,
final int serverPort,
final long timeout,
final IdentifierFactory factory,
@@ -107,7 +107,7 @@
}
}
- public NameRegistryClient(final String serverAddr, final int serverPort,
+ NameRegistryClient(final String serverAddr, final int serverPort,
final long timeout, final IdentifierFactory factory,
final BlockingQueue<NamingRegisterResponse> replyQueue,
final Transport transport) {