diff options
Diffstat (limited to 'java/common')
| -rw-r--r-- | java/common/src/main/java/org/apache/qpid/transport/Connection.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/transport/Connection.java b/java/common/src/main/java/org/apache/qpid/transport/Connection.java index 2cd6a6e465..388e3442bf 100644 --- a/java/common/src/main/java/org/apache/qpid/transport/Connection.java +++ b/java/common/src/main/java/org/apache/qpid/transport/Connection.java @@ -41,6 +41,8 @@ import static org.apache.qpid.transport.Connection.State.OPENING; import javax.security.sasl.SaslClient; import javax.security.sasl.SaslServer; + +import java.net.SocketAddress; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Collection; @@ -127,6 +129,9 @@ public class Connection extends ConnectionInvoker private final AtomicBoolean connectionLost = new AtomicBoolean(false); + private SocketAddress _remoteAddress; + private SocketAddress _localAddress; + public Connection() {} public void setConnectionDelegate(ConnectionDelegate delegate) @@ -228,6 +233,9 @@ public class Connection extends ConnectionInvoker } NetworkConnection network = transport.connect(settings, secureReceiver, null); + _remoteAddress = network.getRemoteAddress(); + _localAddress = network.getLocalAddress(); + final Sender<ByteBuffer> secureSender = securityLayer.sender(network.getSender()); if(secureSender instanceof ConnectionListener) { @@ -701,4 +709,14 @@ public class Connection extends ConnectionInvoker ssn.notifyFailoverRequired(); } } + + public SocketAddress getRemoteAddress() + { + return _remoteAddress; + } + + public SocketAddress getLocalAddress() + { + return _localAddress; + } } |
