diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceInternal/Acceptor.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/EndpointI.java | 8 | ||||
-rw-r--r-- | java/src/IceInternal/IncomingConnectionFactory.java | 4 | ||||
-rw-r--r-- | java/src/IceInternal/OpaqueEndpointI.java | 17 | ||||
-rw-r--r-- | java/src/IceInternal/TcpAcceptor.java | 9 | ||||
-rw-r--r-- | java/src/IceInternal/TcpEndpointI.java | 20 | ||||
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/Transceiver.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/UdpEndpointI.java | 20 | ||||
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 10 | ||||
-rw-r--r-- | java/src/IceInternal/WSAcceptor.java | 11 | ||||
-rw-r--r-- | java/src/IceInternal/WSEndpoint.java | 13 | ||||
-rw-r--r-- | java/src/IceInternal/WSTransceiver.java | 2 | ||||
-rw-r--r-- | java/src/IceSSL/AcceptorI.java | 12 | ||||
-rw-r--r-- | java/src/IceSSL/EndpointI.java | 20 | ||||
-rw-r--r-- | java/src/IceSSL/TransceiverI.java | 2 |
16 files changed, 47 insertions, 107 deletions
diff --git a/java/src/IceInternal/Acceptor.java b/java/src/IceInternal/Acceptor.java index 1adc2349db7..8efcc04dcb3 100644 --- a/java/src/IceInternal/Acceptor.java +++ b/java/src/IceInternal/Acceptor.java @@ -13,7 +13,7 @@ public interface Acceptor { java.nio.channels.ServerSocketChannel fd(); void close(); - EndpointI listen(EndpointI endp); + EndpointI listen(); Transceiver accept(); String protocol(); @Override diff --git a/java/src/IceInternal/EndpointI.java b/java/src/IceInternal/EndpointI.java index f752291c6f3..7e6d487f7f2 100644 --- a/java/src/IceInternal/EndpointI.java +++ b/java/src/IceInternal/EndpointI.java @@ -111,14 +111,6 @@ abstract public class EndpointI implements Ice.Endpoint, java.lang.Comparable<En public abstract Acceptor acceptor(String adapterName); // - // Return (potentially) new endpoint based on info from associated - // Transceiver or Acceptor, which might differ from this endpoint, - // for example, if a dynamic port number was assigned. - // - public abstract EndpointI endpoint(Transceiver transceiver); - public abstract EndpointI endpoint(Acceptor acceptor); - - // // Expand endpoint out in to separate endpoints for each local // host if listening on INADDR_ANY. // diff --git a/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java index e0ecfcc2fc3..b66b100bfff 100644 --- a/java/src/IceInternal/IncomingConnectionFactory.java +++ b/java/src/IceInternal/IncomingConnectionFactory.java @@ -388,7 +388,7 @@ public final class IncomingConnectionFactory extends EventHandler implements Ice s.append(_transceiver.toString()); _instance.initializationData().logger.trace(_instance.traceLevels().networkCat, s.toString()); } - _endpoint = _transceiver.bind(_endpoint); + _endpoint = _transceiver.bind(); Ice.ConnectionI connection = new Ice.ConnectionI(_adapter.getCommunicator(), _instance, null, _transceiver, null, _endpoint, @@ -410,7 +410,7 @@ public final class IncomingConnectionFactory extends EventHandler implements Ice _instance.initializationData().logger.trace(_instance.traceLevels().networkCat, s.toString()); } - _endpoint = _acceptor.listen(_endpoint); + _endpoint = _acceptor.listen(); if(_instance.traceLevels().network >= 1) { diff --git a/java/src/IceInternal/OpaqueEndpointI.java b/java/src/IceInternal/OpaqueEndpointI.java index 8932c41c7de..3a3ab472863 100644 --- a/java/src/IceInternal/OpaqueEndpointI.java +++ b/java/src/IceInternal/OpaqueEndpointI.java @@ -210,23 +210,6 @@ final class OpaqueEndpointI extends EndpointI } // - // Return (potentially) new endpoint based on info from associated - // Transceiver or Acceptor, which might differ from this endpoint, - // for example, if a dynamic port number was assigned. - // - @Override - public EndpointI endpoint(Transceiver transceiver) - { - return null; - } - - @Override - public EndpointI endpoint(Acceptor acceptor) - { - return null; - } - - // // Expand endpoint out in to separate endpoints for each local // host if listening on INADDR_ANY on server side or if no host // was specified on client side. diff --git a/java/src/IceInternal/TcpAcceptor.java b/java/src/IceInternal/TcpAcceptor.java index 5bb1b1c79da..3f593624188 100644 --- a/java/src/IceInternal/TcpAcceptor.java +++ b/java/src/IceInternal/TcpAcceptor.java @@ -26,10 +26,11 @@ class TcpAcceptor implements Acceptor } @Override - public EndpointI listen(EndpointI endp) + public EndpointI listen() { _addr = Network.doBind(_fd, _addr, _backlog); - return endp.endpoint(this); + _endpoint = _endpoint.endpoint(this); + return _endpoint; } @Override @@ -71,8 +72,9 @@ class TcpAcceptor implements Acceptor return _addr.getPort(); } - TcpAcceptor(ProtocolInstance instance, String host, int port) + TcpAcceptor(TcpEndpointI endpoint, ProtocolInstance instance, String host, int port) { + _endpoint = endpoint; _instance = instance; _backlog = instance.properties().getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); @@ -124,6 +126,7 @@ class TcpAcceptor implements Acceptor } } + private TcpEndpointI _endpoint; private ProtocolInstance _instance; private java.nio.channels.ServerSocketChannel _fd; private int _backlog; diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java index 9678e59803d..4f8fa51c9ac 100644 --- a/java/src/IceInternal/TcpEndpointI.java +++ b/java/src/IceInternal/TcpEndpointI.java @@ -155,25 +155,13 @@ final class TcpEndpointI extends IPEndpointI @Override public Acceptor acceptor(String adapterName) { - return new TcpAcceptor(_instance, _host, _port); + return new TcpAcceptor(this, _instance, _host, _port); } - // - // Return (potentially) new endpoint based on info from associated - // Transceiver or Acceptor, which might differ from this endpoint, - // for example, if a dynamic port number was assigned. - // - @Override - public EndpointI endpoint(Transceiver transceiver) - { - return this; - } - - @Override - public EndpointI endpoint(Acceptor acceptor) + public TcpEndpointI endpoint(TcpAcceptor acceptor) { - TcpAcceptor p = (TcpAcceptor)acceptor; - return createEndpoint(_host, p.effectivePort(), _connectionId); + return new TcpEndpointI(_instance, _host, acceptor.effectivePort(), _sourceAddr, _timeout, + _connectionId, _compress); } @Override diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java index 625ab8ce448..5e8d33fb672 100644 --- a/java/src/IceInternal/TcpTransceiver.java +++ b/java/src/IceInternal/TcpTransceiver.java @@ -39,7 +39,7 @@ final class TcpTransceiver implements Transceiver } @Override - public EndpointI bind(EndpointI endp) + public EndpointI bind() { assert(false); return null; diff --git a/java/src/IceInternal/Transceiver.java b/java/src/IceInternal/Transceiver.java index c7c1fbd3a71..f9889df74f8 100644 --- a/java/src/IceInternal/Transceiver.java +++ b/java/src/IceInternal/Transceiver.java @@ -17,7 +17,7 @@ public interface Transceiver int closing(boolean initiator, Ice.LocalException ex); void close(); - EndpointI bind(EndpointI endp); + EndpointI bind(); int write(Buffer buf); int read(Buffer buf, Ice.Holder<Boolean> moreData); diff --git a/java/src/IceInternal/UdpEndpointI.java b/java/src/IceInternal/UdpEndpointI.java index b5bab1f3bfb..797f5f25138 100644 --- a/java/src/IceInternal/UdpEndpointI.java +++ b/java/src/IceInternal/UdpEndpointI.java @@ -150,7 +150,7 @@ final class UdpEndpointI extends IPEndpointI @Override public Transceiver transceiver() { - return new UdpTransceiver(_instance, _host, _port, _mcastInterface, _connect); + return new UdpTransceiver(this, _instance, _host, _port, _mcastInterface, _connect); } // @@ -163,22 +163,10 @@ final class UdpEndpointI extends IPEndpointI return null; } - // - // Return (potentially) new endpoint based on info from associated - // Transceiver or Acceptor, which might differ from this endpoint, - // for example, if a dynamic port number was assigned. - // - @Override - public EndpointI endpoint(Transceiver transceiver) - { - UdpTransceiver p = (UdpTransceiver)transceiver; - return createEndpoint(_host, p.effectivePort(), _connectionId); - } - - @Override - public EndpointI endpoint(Acceptor acceptor) + public UdpEndpointI endpoint(UdpTransceiver transceiver) { - return this; + return new UdpEndpointI(_instance, _host, transceiver.effectivePort(), _sourceAddr, _mcastInterface,_mcastTtl, + _connect, _connectionId, _compress); } // diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java index 0ac66b0a366..78e1de99371 100644 --- a/java/src/IceInternal/UdpTransceiver.java +++ b/java/src/IceInternal/UdpTransceiver.java @@ -52,7 +52,7 @@ final class UdpTransceiver implements Transceiver } @Override - public EndpointI bind(EndpointI endp) + public EndpointI bind() { if(_addr.getAddress().isMulticastAddress()) { @@ -103,7 +103,8 @@ final class UdpTransceiver implements Transceiver } _bound = true; - return endp.endpoint(this); + _endpoint = _endpoint.endpoint(this); + return _endpoint; } @Override @@ -393,8 +394,10 @@ final class UdpTransceiver implements Transceiver // // Only for use by UdpEndpoint // - UdpTransceiver(ProtocolInstance instance, String host, int port, String mcastInterface, boolean connect) + UdpTransceiver(UdpEndpointI endpoint, ProtocolInstance instance, String host, int port, String mcastInterface, + boolean connect) { + _endpoint = endpoint; _instance = instance; _state = connect ? StateNeedConnect : StateNotConnected; _mcastInterface = mcastInterface; @@ -601,6 +604,7 @@ final class UdpTransceiver implements Transceiver } } + private UdpEndpointI _endpoint = null; private ProtocolInstance _instance; private int _state; diff --git a/java/src/IceInternal/WSAcceptor.java b/java/src/IceInternal/WSAcceptor.java index 65ef46623fb..cc11b1ff8e8 100644 --- a/java/src/IceInternal/WSAcceptor.java +++ b/java/src/IceInternal/WSAcceptor.java @@ -24,11 +24,10 @@ final class WSAcceptor implements IceInternal.Acceptor } @Override - public EndpointI listen(EndpointI endp) + public EndpointI listen() { - WSEndpoint p = (WSEndpoint)endp; - EndpointI endpoint = _delegate.listen(p.delegate()); - return endp.endpoint(this); + _endpoint = _endpoint.endpoint(_delegate.listen()); + return _endpoint; } @Override @@ -64,12 +63,14 @@ final class WSAcceptor implements IceInternal.Acceptor return _delegate; } - WSAcceptor(ProtocolInstance instance, IceInternal.Acceptor del) + WSAcceptor(WSEndpoint endpoint, ProtocolInstance instance, IceInternal.Acceptor del) { + _endpoint = endpoint; _instance = instance; _delegate = del; } + private WSEndpoint _endpoint; private ProtocolInstance _instance; private IceInternal.Acceptor _delegate; } diff --git a/java/src/IceInternal/WSEndpoint.java b/java/src/IceInternal/WSEndpoint.java index 7170d68e252..14f64906f42 100644 --- a/java/src/IceInternal/WSEndpoint.java +++ b/java/src/IceInternal/WSEndpoint.java @@ -207,20 +207,11 @@ final class WSEndpoint extends IceInternal.EndpointI public Acceptor acceptor(String adapterName) { Acceptor delAcc = _delegate.acceptor(adapterName); - return new WSAcceptor(_instance, delAcc); + return new WSAcceptor(this, _instance, delAcc); } - @Override - public EndpointI endpoint(Transceiver transceiver) - { - return this; - } - - @Override - public EndpointI endpoint(Acceptor acceptor) + public WSEndpoint endpoint(EndpointI delEndp) { - WSAcceptor p = (WSAcceptor)acceptor; - EndpointI delEndp = _delegate.endpoint(p.delegate()); return new WSEndpoint(_instance, delEndp, _resource); } diff --git a/java/src/IceInternal/WSTransceiver.java b/java/src/IceInternal/WSTransceiver.java index c34a1f65e1b..8cf6b96813e 100644 --- a/java/src/IceInternal/WSTransceiver.java +++ b/java/src/IceInternal/WSTransceiver.java @@ -306,7 +306,7 @@ final class WSTransceiver implements Transceiver } @Override - public EndpointI bind(EndpointI endp) + public EndpointI bind() { assert(false); return null; diff --git a/java/src/IceSSL/AcceptorI.java b/java/src/IceSSL/AcceptorI.java index 186d7988c30..4a853cc73da 100644 --- a/java/src/IceSSL/AcceptorI.java +++ b/java/src/IceSSL/AcceptorI.java @@ -26,11 +26,11 @@ final class AcceptorI implements IceInternal.Acceptor } @Override - public IceInternal.EndpointI listen(IceInternal.EndpointI endp) + public IceInternal.EndpointI listen() { _addr = IceInternal.Network.doBind(_fd, _addr, _backlog); - - return endp.endpoint(this); + _endpoint = _endpoint.endpoint(this); + return _endpoint; } @Override @@ -49,7 +49,7 @@ final class AcceptorI implements IceInternal.Acceptor IceInternal.StreamSocket stream = new IceInternal.StreamSocket(_instance, IceInternal.Network.doAccept(_fd)); try { - java.net.InetSocketAddress peerAddr = + java.net.InetSocketAddress peerAddr = (java.net.InetSocketAddress)stream.fd().socket().getRemoteSocketAddress(); return new TransceiverI(_instance, _instance.createSSLEngine(true, peerAddr), stream, "", _adapterName); } @@ -94,8 +94,9 @@ final class AcceptorI implements IceInternal.Acceptor return _addr.getPort(); } - AcceptorI(Instance instance, String adapterName, String host, int port) + AcceptorI(EndpointI endpoint, Instance instance, String adapterName, String host, int port) { + _endpoint = endpoint; _instance = instance; _adapterName = adapterName; _backlog = instance.properties().getPropertyAsIntWithDefault("Ice.TCP.Backlog", 511); @@ -149,6 +150,7 @@ final class AcceptorI implements IceInternal.Acceptor } } + private EndpointI _endpoint; private Instance _instance; private String _adapterName; private java.nio.channels.ServerSocketChannel _fd; diff --git a/java/src/IceSSL/EndpointI.java b/java/src/IceSSL/EndpointI.java index 1b42777d3c7..cce1479e1ff 100644 --- a/java/src/IceSSL/EndpointI.java +++ b/java/src/IceSSL/EndpointI.java @@ -158,25 +158,13 @@ final class EndpointI extends IceInternal.IPEndpointI @Override public IceInternal.Acceptor acceptor(String adapterName) { - return new AcceptorI(_instance, adapterName, _host, _port); + return new AcceptorI(this, _instance, adapterName, _host, _port); } - // - // Return (potentially) new endpoint based on info from associated - // Transceiver or Acceptor, which might differ from this endpoint, - // for example, if a dynamic port number was assigned. - // - @Override - public IceInternal.EndpointI endpoint(IceInternal.Transceiver transceiver) - { - return this; - } - - @Override - public IceInternal.EndpointI endpoint(IceInternal.Acceptor acceptor) + public EndpointI endpoint(AcceptorI acceptor) { - AcceptorI p = (AcceptorI)acceptor; - return new EndpointI(_instance, _host, p.effectivePort(), _sourceAddr, _timeout, _connectionId, _compress); + return new EndpointI(_instance, _host, acceptor.effectivePort(), _sourceAddr, _timeout, _connectionId, + _compress); } diff --git a/java/src/IceSSL/TransceiverI.java b/java/src/IceSSL/TransceiverI.java index fb1d4c947ff..40bd7e6fab1 100644 --- a/java/src/IceSSL/TransceiverI.java +++ b/java/src/IceSSL/TransceiverI.java @@ -138,7 +138,7 @@ final class TransceiverI implements IceInternal.Transceiver } @Override - public IceInternal.EndpointI bind(IceInternal.EndpointI endp) + public IceInternal.EndpointI bind() { assert(false); return null; |