summaryrefslogtreecommitdiff
path: root/java/common
diff options
context:
space:
mode:
Diffstat (limited to 'java/common')
-rw-r--r--java/common/src/main/java/org/apache/qpid/transport/Connection.java18
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;
+ }
}