diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-01-07 10:30:13 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-01-07 10:30:13 +0100 |
commit | d9ce265d9766f0d48c6a6c10491be1f782424a2c (patch) | |
tree | 62df7123b09ccbcc617c6024c4b30e1bec45f16b /java/src/IceInternal/TcpConnector.java | |
parent | Fixed IceBox/configuration test failure when run with --protocol=ssl (diff) | |
download | ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.tar.bz2 ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.tar.xz ice-d9ce265d9766f0d48c6a6c10491be1f782424a2c.zip |
Fixed bug 2304
Diffstat (limited to 'java/src/IceInternal/TcpConnector.java')
-rw-r--r-- | java/src/IceInternal/TcpConnector.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java index ab2a2a877e3..e42057940bb 100644 --- a/java/src/IceInternal/TcpConnector.java +++ b/java/src/IceInternal/TcpConnector.java @@ -20,19 +20,31 @@ final class TcpConnector implements Connector, java.lang.Comparable _logger.trace(_traceLevels.networkCat, s); } - java.nio.channels.SocketChannel fd = Network.createTcpSocket(); - Network.setBlock(fd, false); - Network.setTcpBufSize(fd, _instance.initializationData().properties, _logger); - boolean connected = Network.doConnect(fd, _addr, timeout); - if(connected) + try + { + java.nio.channels.SocketChannel fd = Network.createTcpSocket(); + Network.setBlock(fd, false); + Network.setTcpBufSize(fd, _instance.initializationData().properties, _logger); + boolean connected = Network.doConnect(fd, _addr, timeout); + if(connected) + { + if(_traceLevels.network >= 1) + { + String s = "tcp connection established\n" + Network.fdToString(fd); + _logger.trace(_traceLevels.networkCat, s); + } + } + return new TcpTransceiver(_instance, fd, connected); + } + catch(Ice.LocalException ex) { - if(_traceLevels.network >= 1) + if(_traceLevels.network >= 2) { - String s = "tcp connection established\n" + Network.fdToString(fd); + String s = "failed to establish tcp connection to " + toString() + "\n" + ex; _logger.trace(_traceLevels.networkCat, s); } + throw ex; } - return new TcpTransceiver(_instance, fd, connected); } public short |