summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/UdpTransceiver.java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2009-10-16 09:38:13 -0230
committerDwayne Boone <dwayne@zeroc.com>2009-10-16 09:38:13 -0230
commitb8b803f51c8ff622491d2a160663e4912f7dba03 (patch)
treeb4ded20bd5b2fa37a18943a5ac0665ce2d525128 /java/src/IceInternal/UdpTransceiver.java
parentAdded support for per-OA ACM and fix for retry on CloseConnectionException (diff)
downloadice-b8b803f51c8ff622491d2a160663e4912f7dba03.tar.bz2
ice-b8b803f51c8ff622491d2a160663e4912f7dba03.tar.xz
ice-b8b803f51c8ff622491d2a160663e4912f7dba03.zip
Added support for EndpointInfo and ConnectionInfo to python.
Set endpoint in Connection getInfo implementations. Removed unused _stateTime from ConnectionI. Remove ["cpp:virtual"] from SSLEndpointInfo slice definition.
Diffstat (limited to 'java/src/IceInternal/UdpTransceiver.java')
-rw-r--r--java/src/IceInternal/UdpTransceiver.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java
index 10f4c531935..717688d3e92 100644
--- a/java/src/IceInternal/UdpTransceiver.java
+++ b/java/src/IceInternal/UdpTransceiver.java
@@ -235,6 +235,7 @@ final class UdpTransceiver implements Transceiver
assert(_fd != null);
Ice.UdpConnectionInfo info = new Ice.UdpConnectionInfo();
+ info.endpoint = _endpointInfo;
java.net.DatagramSocket socket = _fd.socket();
info.localAddress = socket.getLocalAddress().getHostAddress();
info.localPort = socket.getLocalPort();
@@ -284,8 +285,9 @@ final class UdpTransceiver implements Transceiver
//
// Only for use by UdpEndpoint
//
- UdpTransceiver(Instance instance, java.net.InetSocketAddress addr, String mcastInterface, int mcastTtl)
+ UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, java.net.InetSocketAddress addr)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -302,7 +304,7 @@ final class UdpTransceiver implements Transceiver
_connect = false; // We're connected now
if(_addr.getAddress().isMulticastAddress())
{
- configureMulticast(null, mcastInterface, mcastTtl);
+ configureMulticast(null, _endpointInfo.mcastInterface, _endpointInfo.mcastTtl);
}
if(_traceLevels.network >= 1)
@@ -321,8 +323,9 @@ final class UdpTransceiver implements Transceiver
//
// Only for use by UdpEndpoint
//
- UdpTransceiver(Instance instance, String host, int port, String mcastInterface, boolean connect)
+ UdpTransceiver(Instance instance, Ice.UdpEndpointInfo endpointInfo, boolean connect)
{
+ _endpointInfo = endpointInfo;
_traceLevels = instance.traceLevels();
_logger = instance.initializationData().logger;
_stats = instance.initializationData().stats;
@@ -334,7 +337,7 @@ final class UdpTransceiver implements Transceiver
_fd = Network.createUdpSocket();
setBufSize(instance);
Network.setBlock(_fd, false);
- _addr = Network.getAddressForServer(host, port, instance.protocolSupport());
+ _addr = Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, instance.protocolSupport());
if(_traceLevels.network >= 2)
{
String s = "attempting to bind to udp socket " + Network.addrToString(_addr);
@@ -344,12 +347,12 @@ final class UdpTransceiver implements Transceiver
{
Network.setReuseAddress(_fd, true);
_mcastAddr = _addr;
- _addr = Network.doBind(_fd, Network.getAddress("0.0.0.0", port, Network.EnableIPv4));
- if(port == 0)
+ _addr = Network.doBind(_fd, Network.getAddress("0.0.0.0", _endpointInfo.port, Network.EnableIPv4));
+ if(_endpointInfo.port == 0)
{
_mcastAddr = new java.net.InetSocketAddress(_mcastAddr.getAddress(), _addr.getPort());
}
- configureMulticast(_mcastAddr, mcastInterface, -1);
+ configureMulticast(_mcastAddr, _endpointInfo.mcastInterface, -1);
}
else
{
@@ -567,6 +570,7 @@ final class UdpTransceiver implements Transceiver
super.finalize();
}
+ private Ice.UdpEndpointInfo _endpointInfo;
private TraceLevels _traceLevels;
private Ice.Logger _logger;
private Ice.Stats _stats;