summaryrefslogtreecommitdiff
path: root/java/src
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
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')
-rw-r--r--java/src/IceInternal/Network.java2
-rw-r--r--java/src/IceInternal/TcpAcceptor.java2
-rw-r--r--java/src/IceInternal/TcpConnector.java2
-rw-r--r--java/src/IceInternal/TcpTransceiver.java16
-rw-r--r--java/src/IceSSL/AcceptorI.java2
-rw-r--r--java/src/IceSSL/ConnectorI.java2
-rw-r--r--java/src/IceSSL/TransceiverI.java16
7 files changed, 31 insertions, 11 deletions
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java
index 2e12900545f..1d5d1c65491 100644
--- a/java/src/IceInternal/Network.java
+++ b/java/src/IceInternal/Network.java
@@ -1066,7 +1066,7 @@ public final class Network
(bytes.length == 4 && protocol == EnableIPv4));
}
- private static String
+ public static String
addrToString(java.net.InetAddress addr, int port)
{
StringBuffer s = new StringBuffer();
diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java
index 9c972306982..1833b4c10df 100644
--- a/java/src/IceInternal/TcpAcceptor.java
+++ b/java/src/IceInternal/TcpAcceptor.java
@@ -66,7 +66,7 @@ class TcpAcceptor implements Acceptor
_logger.trace(_traceLevels.networkCat, s);
}
- return new TcpTransceiver(_instance, fd, true);
+ return new TcpTransceiver(_instance, fd, true, null);
}
public String
diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java
index 7d0cccc149f..e0c4139215b 100644
--- a/java/src/IceInternal/TcpConnector.java
+++ b/java/src/IceInternal/TcpConnector.java
@@ -34,7 +34,7 @@ final class TcpConnector implements Connector
_logger.trace(_traceLevels.networkCat, s);
}
}
- return new TcpTransceiver(_instance, fd, connected);
+ return new TcpTransceiver(_instance, fd, connected, _addr);
}
catch(Ice.LocalException ex)
{
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;
diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java
index db6cf781002..d2bd3ed4792 100644
--- a/java/src/IceSSL/AcceptorI.java
+++ b/java/src/IceSSL/AcceptorI.java
@@ -89,7 +89,7 @@ final class AcceptorI implements IceInternal.Acceptor
IceInternal.Network.fdToString(fd));
}
- return new TransceiverI(_instance, engine, fd, "", true, true, _adapterName);
+ return new TransceiverI(_instance, engine, fd, "", true, true, _adapterName, null);
}
public String
diff --git a/java/src/IceSSL/ConnectorI.java b/java/src/IceSSL/ConnectorI.java
index fe85a2c4e0a..5b50a79e1db 100644
--- a/java/src/IceSSL/ConnectorI.java
+++ b/java/src/IceSSL/ConnectorI.java
@@ -39,7 +39,7 @@ final class ConnectorI implements IceInternal.Connector
try
{
javax.net.ssl.SSLEngine engine = _instance.createSSLEngine(false, _addr);
- return new TransceiverI(_instance, engine, fd, _host, connected, false, "");
+ return new TransceiverI(_instance, engine, fd, _host, connected, false, "", _addr);
}
catch(RuntimeException ex)
{
diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java
index eec1f3c7d00..f94c90e4876 100644
--- a/java/src/IceSSL/TransceiverI.java
+++ b/java/src/IceSSL/TransceiverI.java
@@ -50,8 +50,15 @@ final class TransceiverI implements IceInternal.Transceiver
{
if(_instance.networkTraceLevel() >= 2)
{
- String s = "failed to establish ssl connection\n" + _desc + "\n" + ex;
- _logger.trace(_instance.networkTraceCategory(), s);
+ java.net.Socket fd = (java.net.Socket)_fd.socket();
+ StringBuilder s = new StringBuilder(128);
+ s.append("failed to establish ssl connection\n");
+ s.append("local address = ");
+ s.append(IceInternal.Network.addrToString(fd.getLocalAddress(), fd.getLocalPort()));
+ s.append("\nremote address = ");
+ assert(_connectAddr != null);
+ s.append(IceInternal.Network.addrToString(_connectAddr));
+ _logger.trace(_instance.networkTraceCategory(), s.toString());
}
throw ex;
}
@@ -289,7 +296,8 @@ final class TransceiverI implements IceInternal.Transceiver
// Only for use by ConnectorI, AcceptorI.
//
TransceiverI(Instance instance, javax.net.ssl.SSLEngine engine, java.nio.channels.SocketChannel fd,
- String host, boolean connected, boolean incoming, String adapterName)
+ String host, boolean connected, boolean incoming, String adapterName,
+ java.net.InetSocketAddress connectAddr)
{
_instance = instance;
_engine = engine;
@@ -297,6 +305,7 @@ final class TransceiverI implements IceInternal.Transceiver
_host = host;
_incoming = incoming;
_adapterName = adapterName;
+ _connectAddr = connectAddr;
_state = connected ? StateConnected : StateNeedConnect;
_logger = instance.communicator().getLogger();
try
@@ -791,6 +800,7 @@ final class TransceiverI implements IceInternal.Transceiver
private String _host;
private boolean _incoming;
private String _adapterName;
+ private java.net.InetSocketAddress _connectAddr;
private int _state;
private Ice.Logger _logger;
private Ice.Stats _stats;