Repository: reef Updated Branches: refs/heads/branch-0.14.0 55feadabf -> efb1e64c6
[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 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/efb1e64c Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/efb1e64c Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/efb1e64c Branch: refs/heads/branch-0.14.0 Commit: efb1e64c63acb2c7acc2b91bdd502708102df99a Parents: 55feada Author: taegeonum <[email protected]> Authored: Tue Mar 15 08:49:08 2016 +0900 Committer: Yunseong Lee <[email protected]> Committed: Thu Mar 17 08:37:05 2016 +0900 ---------------------------------------------------------------------- .../reef/io/network/naming/NameClient.java | 6 ++-- .../io/network/naming/NameLookupClient.java | 32 +++++++++++++++++++- .../io/network/naming/NameRegistryClient.java | 6 ++-- 3 files changed, 37 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/efb1e64c/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameClient.java ---------------------------------------------------------------------- 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 @@ public final class NameClient implements NameResolver { @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 @@ public final class NameClient implements NameResolver { 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); http://git-wip-us.apache.org/repos/asf/reef/blob/efb1e64c/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameLookupClient.java ---------------------------------------------------------------------- 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 @@ public final class NameLookupClient implements Stage, NamingLookup { 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 @@ public final class NameLookupClient implements Stage, NamingLookup { @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); http://git-wip-us.apache.org/repos/asf/reef/blob/efb1e64c/lang/java/reef-io/src/main/java/org/apache/reef/io/network/naming/NameRegistryClient.java ---------------------------------------------------------------------- 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 @@ public class NameRegistryClient implements Stage, NamingRegistry { * @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 @@ public class NameRegistryClient implements Stage, NamingRegistry { * @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 class NameRegistryClient implements Stage, NamingRegistry { } } - 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) {
