diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
commit | 47f800495093fd7679a315e2d730fea22f6135b7 (patch) | |
tree | a7b8d3488f3841367dd03d10cae293f36fd10481 /java/src/IceInternal/TcpConnector.java | |
parent | Fixed SystemException to no longer derive from LocalException (diff) | |
download | ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.bz2 ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.xz ice-47f800495093fd7679a315e2d730fea22f6135b7.zip |
- Added support for non-blocking AMI/batch requests, connection
creation.
- Added support for AMI oneway requests.
- Changed collocation optimization to not perform any DNS lookups.
Diffstat (limited to 'java/src/IceInternal/TcpConnector.java')
-rw-r--r-- | java/src/IceInternal/TcpConnector.java | 41 |
1 files changed, 16 insertions, 25 deletions
diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java index 2635d9ad881..ab2a2a877e3 100644 --- a/java/src/IceInternal/TcpConnector.java +++ b/java/src/IceInternal/TcpConnector.java @@ -11,8 +11,6 @@ package IceInternal; final class TcpConnector implements Connector, java.lang.Comparable { - final static short TYPE = 1; - public Transceiver connect(int timeout) { @@ -25,21 +23,22 @@ final class TcpConnector implements Connector, java.lang.Comparable java.nio.channels.SocketChannel fd = Network.createTcpSocket(); Network.setBlock(fd, false); Network.setTcpBufSize(fd, _instance.initializationData().properties, _logger); - Network.doConnect(fd, _addr, timeout); - - if(_traceLevels.network >= 1) + boolean connected = Network.doConnect(fd, _addr, timeout); + if(connected) { - String s = "tcp connection established\n" + Network.fdToString(fd); - _logger.trace(_traceLevels.networkCat, s); + if(_traceLevels.network >= 1) + { + String s = "tcp connection established\n" + Network.fdToString(fd); + _logger.trace(_traceLevels.networkCat, s); + } } - - return new TcpTransceiver(_instance, fd); + return new TcpTransceiver(_instance, fd, connected); } public short type() { - return TYPE; + return TcpEndpointI.TYPE; } public String @@ -54,21 +53,6 @@ final class TcpConnector implements Connector, java.lang.Comparable return _hashCode; } - public final boolean - equivalent(String host, int port) - { - java.net.InetSocketAddress addr; - try - { - addr = Network.getAddress(host, port); - } - catch(Ice.DNSException ex) - { - return false; - } - return addr.equals(_addr); - } - // // Only for use by TcpEndpoint // @@ -149,6 +133,13 @@ final class TcpConnector implements Connector, java.lang.Comparable return Network.compareAddress(_addr, p._addr); } + protected synchronized void + finalize() + throws Throwable + { + super.finalize(); + } + private Instance _instance; private TraceLevels _traceLevels; private Ice.Logger _logger; |