diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/src/Ice/ConnectionI.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/TcpAcceptor.java | 8 | ||||
-rw-r--r-- | java/src/IceInternal/TcpConnector.java | 13 | ||||
-rw-r--r-- | java/src/IceInternal/TcpEndpointI.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/UdpConnector.java | 36 | ||||
-rw-r--r-- | java/src/IceInternal/UdpEndpointI.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 18 | ||||
-rw-r--r-- | java/src/IceSSL/AcceptorI.java | 9 | ||||
-rw-r--r-- | java/src/IceSSL/ConnectorI.java | 14 | ||||
-rw-r--r-- | java/src/IceSSL/EndpointI.java | 4 | ||||
-rw-r--r-- | java/src/IceSSL/TransceiverI.java | 11 |
12 files changed, 65 insertions, 67 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java index f03033b8cb9..83508d52682 100644 --- a/java/src/Ice/ConnectionI.java +++ b/java/src/Ice/ConnectionI.java @@ -1290,7 +1290,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne _writeStream = new IceInternal.BasicStream(instance); _dispatchCount = 0; _state = StateNotInitialized; - _stateTime = IceInternal.Time.currentMonotonicTimeMillis(); int compressionLevel = initData.properties.getPropertyAsIntWithDefault("Ice.Compression.Level", 1); if(compressionLevel < 1) @@ -1563,7 +1562,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne } _state = state; - _stateTime = IceInternal.Time.currentMonotonicTimeMillis(); notifyAll(); @@ -2500,7 +2498,6 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne private int _dispatchCount; private int _state; // The current state. - private long _stateTime; // The last time when the state was changed. private IceInternal.Incoming _incomingCache; private java.lang.Object _incomingCacheMutex = new java.lang.Object(); diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java index 50f46759f6f..74c24556065 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, _endpointInfo, fd, true); } public String @@ -81,9 +81,10 @@ class TcpAcceptor implements Acceptor return _addr.getPort(); } - TcpAcceptor(Instance instance, String host, int port) + TcpAcceptor(Instance instance, Ice.TcpEndpointInfo endpointInfo) { _instance = instance; + _endpointInfo = endpointInfo; _traceLevels = instance.traceLevels(); _logger = instance.initializationData().logger; _backlog = instance.initializationData().properties.getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); @@ -110,7 +111,7 @@ class TcpAcceptor implements Acceptor // Network.setReuseAddress(_fd, true); } - _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 tcp socket " + toString(); @@ -135,6 +136,7 @@ class TcpAcceptor implements Acceptor } private Instance _instance; + private Ice.TcpEndpointInfo _endpointInfo; private TraceLevels _traceLevels; private Ice.Logger _logger; private java.nio.channels.ServerSocketChannel _fd; diff --git a/java/src/IceInternal/TcpConnector.java b/java/src/IceInternal/TcpConnector.java index ae5d618be99..b2f2e331a10 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, _endpointInfo, fd, connected); } catch(Ice.LocalException ex) { @@ -68,18 +68,19 @@ final class TcpConnector implements Connector // // Only for use by TcpEndpoint // - TcpConnector(Instance instance, java.net.InetSocketAddress addr, int timeout, String connectionId) + TcpConnector(Instance instance, Ice.TcpEndpointInfo endpointInfo, java.net.InetSocketAddress addr, + String connectionId) { _instance = instance; + _endpointInfo = endpointInfo; _traceLevels = instance.traceLevels(); _logger = instance.initializationData().logger; _addr = addr; - _timeout = timeout; _connectionId = connectionId; _hashCode = _addr.getAddress().getHostAddress().hashCode(); _hashCode = 5 * _hashCode + _addr.getPort(); - _hashCode = 5 * _hashCode + _timeout; + _hashCode = 5 * _hashCode + _endpointInfo.timeout; _hashCode = 5 * _hashCode + _connectionId.hashCode(); } @@ -102,7 +103,7 @@ final class TcpConnector implements Connector return true; } - if(_timeout != p._timeout) + if(_endpointInfo.timeout != p._endpointInfo.timeout) { return false; } @@ -116,10 +117,10 @@ final class TcpConnector implements Connector } private Instance _instance; + private Ice.TcpEndpointInfo _endpointInfo; private TraceLevels _traceLevels; private Ice.Logger _logger; private java.net.InetSocketAddress _addr; - private int _timeout; private String _connectionId = ""; private int _hashCode; } diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java index 44fc624af8d..65577f31365 100644 --- a/java/src/IceInternal/TcpEndpointI.java +++ b/java/src/IceInternal/TcpEndpointI.java @@ -394,7 +394,7 @@ final class TcpEndpointI extends EndpointI public Acceptor acceptor(EndpointIHolder endpoint, String adapterName) { - TcpAcceptor p = new TcpAcceptor(_instance, _host, _port); + TcpAcceptor p = new TcpAcceptor(_instance, (Ice.TcpEndpointInfo)getInfo()); endpoint.value = new TcpEndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress); return p; @@ -524,7 +524,7 @@ final class TcpEndpointI extends EndpointI java.util.List<Connector> connectors = new java.util.ArrayList<Connector>(); for(java.net.InetSocketAddress p : addresses) { - connectors.add(new TcpConnector(_instance, p, _timeout, _connectionId)); + connectors.add(new TcpConnector(_instance, (Ice.TcpEndpointInfo)getInfo(), p, _connectionId)); } return connectors; } diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java index fef0558e62c..155c2b28f7b 100644 --- a/java/src/IceInternal/TcpTransceiver.java +++ b/java/src/IceInternal/TcpTransceiver.java @@ -226,6 +226,7 @@ final class TcpTransceiver implements Transceiver { assert(_fd != null); Ice.TcpConnectionInfo info = new Ice.TcpConnectionInfo(); + info.endpoint = _endpointInfo; java.net.Socket socket = _fd.socket(); info.localAddress = socket.getLocalAddress().getHostAddress(); info.localPort = socket.getLocalPort(); @@ -254,8 +255,10 @@ final class TcpTransceiver implements Transceiver // // Only for use by TcpConnector, TcpAcceptor // - TcpTransceiver(Instance instance, java.nio.channels.SocketChannel fd, boolean connected) + TcpTransceiver(Instance instance, Ice.TcpEndpointInfo endpointInfo, java.nio.channels.SocketChannel fd, + boolean connected) { + _endpointInfo = endpointInfo; _fd = fd; _traceLevels = instance.traceLevels(); _logger = instance.initializationData().logger; @@ -288,6 +291,7 @@ final class TcpTransceiver implements Transceiver super.finalize(); } + private Ice.TcpEndpointInfo _endpointInfo; private java.nio.channels.SocketChannel _fd; private TraceLevels _traceLevels; private Ice.Logger _logger; diff --git a/java/src/IceInternal/UdpConnector.java b/java/src/IceInternal/UdpConnector.java index edff81e92a2..96ab5ed69c7 100644 --- a/java/src/IceInternal/UdpConnector.java +++ b/java/src/IceInternal/UdpConnector.java @@ -14,7 +14,7 @@ final class UdpConnector implements Connector public Transceiver connect() { - return new UdpTransceiver(_instance, _addr, _mcastInterface, _mcastTtl); + return new UdpTransceiver(_instance, _endpointInfo, _addr); } public java.nio.channels.SelectableChannel @@ -45,23 +45,18 @@ final class UdpConnector implements Connector // // Only for use by TcpEndpoint // - UdpConnector(Instance instance, java.net.InetSocketAddress addr, String mcastInterface, int mcastTtl, - byte protocolMajor, byte protocolMinor, byte encodingMajor, byte encodingMinor, String connectionId) + UdpConnector(Instance instance, Ice.UdpEndpointInfo endpointInfo, java.net.InetSocketAddress addr, + String connectionId) { _instance = instance; + _endpointInfo = endpointInfo; _addr = addr; - _mcastInterface = mcastInterface; - _mcastTtl = mcastTtl; - _protocolMajor = protocolMajor; - _protocolMinor = protocolMinor; - _encodingMajor = encodingMajor; - _encodingMinor = encodingMinor; _connectionId = connectionId; _hashCode = _addr.getAddress().getHostAddress().hashCode(); _hashCode = 5 * _hashCode + _addr.getPort(); - _hashCode = 5 * _hashCode + _mcastInterface.hashCode(); - _hashCode = 5 * _hashCode + _mcastTtl; + _hashCode = 5 * _hashCode + _endpointInfo.mcastInterface.hashCode(); + _hashCode = 5 * _hashCode + _endpointInfo.mcastTtl; _hashCode = 5 * _hashCode + _connectionId.hashCode(); } @@ -89,32 +84,32 @@ final class UdpConnector implements Connector return false; } - if(_protocolMajor != p._protocolMajor) + if(_endpointInfo.protocolMajor != p._endpointInfo.protocolMajor) { return false; } - if(_protocolMinor != p._protocolMinor) + if(_endpointInfo.protocolMinor != p._endpointInfo.protocolMinor) { return false; } - if(_encodingMajor != p._encodingMajor) + if(_endpointInfo.encodingMajor != p._endpointInfo.encodingMajor) { return false; } - if(_encodingMinor != p._encodingMinor) + if(_endpointInfo.encodingMinor != p._endpointInfo.encodingMinor) { return false; } - if(_mcastTtl != p._mcastTtl) + if(_endpointInfo.mcastTtl != p._endpointInfo.mcastTtl) { return false; } - if(_mcastInterface.compareTo(p._mcastInterface) != 0) + if(_endpointInfo.mcastInterface.compareTo(p._endpointInfo.mcastInterface) != 0) { return false; } @@ -123,13 +118,8 @@ final class UdpConnector implements Connector } private Instance _instance; + private Ice.UdpEndpointInfo _endpointInfo; private java.net.InetSocketAddress _addr; - private String _mcastInterface; - private int _mcastTtl; - private byte _protocolMajor; - private byte _protocolMinor; - private byte _encodingMajor; - private byte _encodingMinor; private String _connectionId; private int _hashCode; } diff --git a/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java index 846b4f41c48..0760a94f180 100644 --- a/java/src/IceInternal/UdpEndpointI.java +++ b/java/src/IceInternal/UdpEndpointI.java @@ -528,7 +528,7 @@ final class UdpEndpointI extends EndpointI public Transceiver transceiver(EndpointIHolder endpoint) { - UdpTransceiver p = new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect); + UdpTransceiver p = new UdpTransceiver(_instance, (Ice.UdpEndpointInfo)getInfo(), _connect); endpoint.value = new UdpEndpointI(_instance, _host, p.effectivePort(), _mcastInterface, _mcastTtl, _protocolMajor, _protocolMinor, _encodingMajor, _encodingMinor, _connect, _connectionId, _compress); @@ -744,9 +744,7 @@ final class UdpEndpointI extends EndpointI java.util.ArrayList<Connector> connectors = new java.util.ArrayList<Connector>(); for(java.net.InetSocketAddress p : addresses) { - connectors.add( - new UdpConnector(_instance, p, _mcastInterface, _mcastTtl, _protocolMajor, _protocolMinor, - _encodingMajor, _encodingMinor, _connectionId)); + connectors.add(new UdpConnector(_instance, (Ice.UdpEndpointInfo)getInfo(), p, _connectionId)); } return connectors; } 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; diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java index 18184b50aa2..432efd98985 100644 --- a/java/src/IceSSL/AcceptorI.java +++ b/java/src/IceSSL/AcceptorI.java @@ -88,7 +88,7 @@ final class AcceptorI implements IceInternal.Acceptor IceInternal.Network.fdToString(fd)); } - return new TransceiverI(_instance, engine, fd, "", true, true, _adapterName); + return new TransceiverI(_instance, _endpointInfo, engine, fd, true, true, _adapterName); } public String @@ -103,9 +103,10 @@ final class AcceptorI implements IceInternal.Acceptor return _addr.getPort(); } - AcceptorI(Instance instance, String adapterName, String host, int port) + AcceptorI(Instance instance, SSLEndpointInfo endpointInfo, String adapterName) { _instance = instance; + _endpointInfo = endpointInfo; _adapterName = adapterName; _logger = instance.communicator().getLogger(); _backlog = instance.communicator().getProperties().getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); @@ -132,7 +133,8 @@ final class AcceptorI implements IceInternal.Acceptor // IceInternal.Network.setReuseAddress(_fd, true); } - _addr = IceInternal.Network.getAddressForServer(host, port, _instance.protocolSupport()); + _addr = IceInternal.Network.getAddressForServer(_endpointInfo.host, _endpointInfo.port, + _instance.protocolSupport()); if(_instance.networkTraceLevel() >= 2) { String s = "attempting to bind to ssl socket " + toString(); @@ -157,6 +159,7 @@ final class AcceptorI implements IceInternal.Acceptor } private Instance _instance; + private SSLEndpointInfo _endpointInfo; private String _adapterName; private Ice.Logger _logger; private java.nio.channels.ServerSocketChannel _fd; diff --git a/java/src/IceSSL/ConnectorI.java b/java/src/IceSSL/ConnectorI.java index 32e8d4cf817..07a12015439 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); - return new TransceiverI(_instance, engine, fd, _host, connected, false, ""); + return new TransceiverI(_instance, _endpointInfo, engine, fd, connected, false, ""); } catch(RuntimeException ex) { @@ -79,18 +79,17 @@ final class ConnectorI implements IceInternal.Connector // // Only for use by EndpointI. // - ConnectorI(Instance instance, String host, java.net.InetSocketAddress addr, int timeout, String connectionId) + ConnectorI(Instance instance, SSLEndpointInfo endpointInfo, java.net.InetSocketAddress addr, String connectionId) { _instance = instance; + _endpointInfo = endpointInfo; _logger = instance.communicator().getLogger(); - _host = host; _addr = addr; - _timeout = timeout; _connectionId = connectionId; _hashCode = _addr.getAddress().getHostAddress().hashCode(); _hashCode = 5 * _hashCode + _addr.getPort(); - _hashCode = 5 * _hashCode + _timeout; + _hashCode = 5 * _hashCode + _endpointInfo.timeout; _hashCode = 5 * _hashCode + _connectionId.hashCode(); } @@ -113,7 +112,7 @@ final class ConnectorI implements IceInternal.Connector return true; } - if(_timeout != p._timeout) + if(_endpointInfo.timeout != p._endpointInfo.timeout) { return false; } @@ -127,10 +126,9 @@ final class ConnectorI implements IceInternal.Connector } private Instance _instance; + private SSLEndpointInfo _endpointInfo; private Ice.Logger _logger; - private String _host; private java.net.InetSocketAddress _addr; - private int _timeout; private String _connectionId; private int _hashCode; } diff --git a/java/src/IceSSL/EndpointI.java b/java/src/IceSSL/EndpointI.java index 77e70e0671d..4fc235a2c10 100644 --- a/java/src/IceSSL/EndpointI.java +++ b/java/src/IceSSL/EndpointI.java @@ -394,7 +394,7 @@ final class EndpointI extends IceInternal.EndpointI public IceInternal.Acceptor acceptor(IceInternal.EndpointIHolder endpoint, String adapterName) { - AcceptorI p = new AcceptorI(_instance, adapterName, _host, _port); + AcceptorI p = new AcceptorI(_instance, (SSLEndpointInfo)getInfo(), adapterName); endpoint.value = new EndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, _compress); return p; @@ -525,7 +525,7 @@ final class EndpointI extends IceInternal.EndpointI java.util.List<IceInternal.Connector> connectors = new java.util.ArrayList<IceInternal.Connector>(); for(java.net.InetSocketAddress p : addresses) { - connectors.add(new ConnectorI(_instance, _host, p, _timeout, _connectionId)); + connectors.add(new ConnectorI(_instance, (SSLEndpointInfo)getInfo(), p, _connectionId)); } return connectors; } diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java index 54687c5f052..bd7a8a8a3ca 100644 --- a/java/src/IceSSL/TransceiverI.java +++ b/java/src/IceSSL/TransceiverI.java @@ -280,6 +280,7 @@ final class TransceiverI implements IceInternal.Transceiver assert(_fd != null); IceSSL.SSLConnectionInfo info = new IceSSL.SSLConnectionInfo(); + info.endpoint = _endpointInfo; java.net.Socket socket = _fd.socket(); info.localAddress = socket.getLocalAddress().getHostAddress(); info.localPort = socket.getLocalPort(); @@ -339,13 +340,13 @@ 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) + TransceiverI(Instance instance, SSLEndpointInfo endpointInfo, javax.net.ssl.SSLEngine engine, + java.nio.channels.SocketChannel fd, boolean connected, boolean incoming, String adapterName) { _instance = instance; + _endpointInfo = endpointInfo; _engine = engine; _fd = fd; - _host = host; _incoming = incoming; _adapterName = adapterName; _state = connected ? StateConnected : StateNeedConnect; @@ -536,7 +537,7 @@ final class TransceiverI implements IceInternal.Transceiver // Additional verification. // _info = Util.populateConnectionInfo(_engine.getSession(), _fd.socket(), _adapterName, _incoming); - _instance.verifyPeer(_info, _fd, _host, _incoming); + _instance.verifyPeer(_info, _fd, _endpointInfo.host, _incoming); if(_instance.networkTraceLevel() >= 1) { @@ -791,9 +792,9 @@ final class TransceiverI implements IceInternal.Transceiver } private Instance _instance; + private SSLEndpointInfo _endpointInfo; private java.nio.channels.SocketChannel _fd; private javax.net.ssl.SSLEngine _engine; - private String _host; private boolean _incoming; private String _adapterName; private int _state; |