summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/TcpConnector.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
committerBenoit Foucher <benoit@zeroc.com>2007-11-27 11:58:35 +0100
commit47f800495093fd7679a315e2d730fea22f6135b7 (patch)
treea7b8d3488f3841367dd03d10cae293f36fd10481 /java/src/IceInternal/TcpConnector.java
parentFixed SystemException to no longer derive from LocalException (diff)
downloadice-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.java41
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;