summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/TcpTransceiver.java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2011-05-17 20:34:28 +0200
committerJose <jose@zeroc.com>2011-05-17 20:34:28 +0200
commit25a954efbc8205cf0465df8c43e50ff32fa535a0 (patch)
tree9a1819a226076724099392e7a6cba06538a7760f /java/src/IceInternal/TcpTransceiver.java
parentSLES x86 Java fix (diff)
downloadice-25a954efbc8205cf0465df8c43e50ff32fa535a0.tar.bz2
ice-25a954efbc8205cf0465df8c43e50ff32fa535a0.tar.xz
ice-25a954efbc8205cf0465df8c43e50ff32fa535a0.zip
5082 - Network tracing shows remote address = <not connected>
Diffstat (limited to 'java/src/IceInternal/TcpTransceiver.java')
-rw-r--r--java/src/IceInternal/TcpTransceiver.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index 8c10fea5ea8..3a5e9c7f676 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -38,8 +38,15 @@ final class TcpTransceiver implements Transceiver
{
if(_traceLevels.network >= 2)
{
- String s = "failed to establish tcp connection\n" + _desc + "\n" + ex;
- _logger.trace(_traceLevels.networkCat, s);
+ java.net.Socket fd = (java.net.Socket)_fd.socket();
+ StringBuilder s = new StringBuilder(128);
+ s.append("failed to establish tcp connection\n");
+ s.append("local address = ");
+ s.append(Network.addrToString(fd.getLocalAddress(), fd.getLocalPort()));
+ s.append("\nremote address = ");
+ assert(_connectAddr != null);
+ s.append(Network.addrToString(_connectAddr));
+ _logger.trace(_traceLevels.networkCat, s.toString());
}
throw ex;
}
@@ -248,9 +255,11 @@ final class TcpTransceiver implements Transceiver
//
// Only for use by TcpConnector, TcpAcceptor
//
- TcpTransceiver(Instance instance, java.nio.channels.SocketChannel fd, boolean connected)
+ TcpTransceiver(Instance instance, java.nio.channels.SocketChannel fd, boolean connected,
+ java.net.InetSocketAddress connectAddr)
{
_fd = fd;
+ _connectAddr = connectAddr;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -283,6 +292,7 @@ final class TcpTransceiver implements Transceiver
}
private java.nio.channels.SocketChannel _fd;
+ private java.net.InetSocketAddress _connectAddr;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private Ice.Stats _stats;