diff options
author | Mark Spruiell <mes@zeroc.com> | 2006-03-22 22:13:16 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2006-03-22 22:13:16 +0000 |
commit | b4657eb422449715e68bdd427799856cd0de0808 (patch) | |
tree | e4a08d853b02e18793a029b24b18864be26c7cec /java/src/IceSSL/SslEndpointI.java | |
parent | SslConnector -> ConnectorI (diff) | |
download | ice-b4657eb422449715e68bdd427799856cd0de0808.tar.bz2 ice-b4657eb422449715e68bdd427799856cd0de0808.tar.xz ice-b4657eb422449715e68bdd427799856cd0de0808.zip |
SslEndpointI -> EndpointI
Diffstat (limited to 'java/src/IceSSL/SslEndpointI.java')
-rw-r--r-- | java/src/IceSSL/SslEndpointI.java | 567 |
1 files changed, 0 insertions, 567 deletions
diff --git a/java/src/IceSSL/SslEndpointI.java b/java/src/IceSSL/SslEndpointI.java deleted file mode 100644 index 4ca9ef357f5..00000000000 --- a/java/src/IceSSL/SslEndpointI.java +++ /dev/null @@ -1,567 +0,0 @@ -// ********************************************************************** -// -// Copyright (c) 2003-2006 ZeroC, Inc. All rights reserved. -// -// This copy of Ice is licensed to you under the terms described in the -// ICE_LICENSE file included in this distribution. -// -// ********************************************************************** - -package IceSSL; - -final class SslEndpointI extends IceInternal.EndpointI -{ - final static short TYPE = 2; - - public - SslEndpointI(Instance instance, String ho, int po, int ti, String conId, boolean co, boolean pub) - { - _instance = instance; - _host = ho; - _port = po; - _timeout = ti; - _connectionId = conId; - _compress = co; - _publish = pub; - calcHashValue(); - } - - public - SslEndpointI(Instance instance, String str) - { - _instance = instance; - _host = null; - _port = 0; - _timeout = -1; - _compress = false; - _publish = true; - - String[] arr = str.split("[ \t\n\r]+"); - - int i = 0; - while(i < arr.length) - { - if(arr[i].length() == 0) - { - i++; - continue; - } - - String option = arr[i++]; - if(option.length() != 2 || option.charAt(0) != '-') - { - throw new Ice.EndpointParseException("ssl " + str); - } - - String argument = null; - if(i < arr.length && arr[i].charAt(0) != '-') - { - argument = arr[i++]; - } - - switch(option.charAt(1)) - { - case 'h': - { - if(argument == null) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - _host = argument; - break; - } - - case 'p': - { - if(argument == null) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - try - { - _port = Integer.parseInt(argument); - } - catch(NumberFormatException ex) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - if(_port < 0 || _port > 65535) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - break; - } - - case 't': - { - if(argument == null) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - try - { - _timeout = Integer.parseInt(argument); - } - catch(NumberFormatException ex) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - break; - } - - case 'z': - { - if(argument != null) - { - throw new Ice.EndpointParseException("ssl " + str); - } - - _compress = true; - break; - } - - default: - { - throw new Ice.EndpointParseException("ssl " + str); - } - } - } - - if(_host == null) - { - _host = _instance.defaultHost(); - if(_host == null) - { - _host = "0.0.0.0"; - } - } - else if(_host.equals("*")) - { - _host = "0.0.0.0"; - } - - calcHashValue(); - } - - public - SslEndpointI(Instance instance, IceInternal.BasicStream s) - { - _instance = instance; - s.startReadEncaps(); - _host = s.readString(); - _port = s.readInt(); - _timeout = s.readInt(); - _compress = s.readBool(); - s.endReadEncaps(); - _publish = true; - calcHashValue(); - } - - // - // Marshal the endpoint - // - public void - streamWrite(IceInternal.BasicStream s) - { - s.writeShort(TYPE); - s.startWriteEncaps(); - s.writeString(_host); - s.writeInt(_port); - s.writeInt(_timeout); - s.writeBool(_compress); - s.endWriteEncaps(); - } - - // - // Convert the endpoint to its string form - // - public String - _toString() - { - String s = "ssl -h " + _host + " -p " + _port; - if(_timeout != -1) - { - s += " -t " + _timeout; - } - if(_compress) - { - s += " -z"; - } - return s; - } - - // - // Return the endpoint type - // - public short - type() - { - return TYPE; - } - - // - // Return the timeout for the endpoint in milliseconds. 0 means - // non-blocking, -1 means no timeout. - // - public int - timeout() - { - return _timeout; - } - - // - // Return a new endpoint with a different timeout value, provided - // that timeouts are supported by the endpoint. Otherwise the same - // endpoint is returned. - // - public IceInternal.EndpointI - timeout(int timeout) - { - if(timeout == _timeout) - { - return this; - } - else - { - return new SslEndpointI(_instance, _host, _port, timeout, _connectionId, _compress, _publish); - } - } - - // - // Return a new endpoint with a different connection id. - // - public IceInternal.EndpointI - connectionId(String connectionId) - { - if(connectionId == _connectionId) - { - return this; - } - else - { - return new SslEndpointI(_instance, _host, _port, _timeout, connectionId, _compress, _publish); - } - } - - // - // Return true if the endpoints support bzip2 compress, or false - // otherwise. - // - public boolean - compress() - { - return _compress; - } - - // - // Return a new endpoint with a different compression value, - // provided that compression is supported by the - // endpoint. Otherwise the same endpoint is returned. - // - public IceInternal.EndpointI - compress(boolean compress) - { - if(compress == _compress) - { - return this; - } - else - { - return new SslEndpointI(_instance, _host, _port, _timeout, _connectionId, compress, _publish); - } - } - - // - // Return true if the endpoint is datagram-based. - // - public boolean - datagram() - { - return false; - } - - // - // Return true if the endpoint is secure. - // - public boolean - secure() - { - return true; - } - - // - // Return true if the endpoint type is unknown. - // - public boolean - unknown() - { - return false; - } - - // - // Return a client side transceiver for this endpoint, or null if a - // transceiver can only be created by a connector. - // - public IceInternal.Transceiver - clientTransceiver() - { - return null; - } - - // - // Return a server side transceiver for this endpoint, or null if a - // transceiver can only be created by an acceptor. In case a - // transceiver is created, this operation also returns a new - // "effective" endpoint, which might differ from this endpoint, - // for example, if a dynamic port number is assigned. - // - public IceInternal.Transceiver - serverTransceiver(IceInternal.EndpointIHolder endpoint) - { - endpoint.value = this; - return null; - } - - // - // Return a connector for this endpoint, or null if no connector - // is available. - // - public IceInternal.Connector - connector() - { - return new SslConnector(_instance, _host, _port); - } - - // - // Return an acceptor for this endpoint, or null if no acceptors - // is available. In case an acceptor is created, this operation - // also returns a new "effective" endpoint, which might differ - // from this endpoint, for example, if a dynamic port number is - // assigned. - // - public IceInternal.Acceptor - acceptor(IceInternal.EndpointIHolder endpoint) - { - SslAcceptor p = new SslAcceptor(_instance, _host, _port); - endpoint.value = new SslEndpointI(_instance, _host, p.effectivePort(), _timeout, _connectionId, - _compress, _publish); - return p; - } - - // - // Expand endpoint out in to separate endpoints for each local - // host if endpoint was configured with no host set. This - // only applies for ObjectAdapter endpoints. - // - public java.util.ArrayList - expand(boolean includeLoopback) - { - java.util.ArrayList endps = new java.util.ArrayList(); - if(_host.equals("0.0.0.0")) - { - java.util.ArrayList hosts = IceInternal.Network.getLocalHosts(); - java.util.Iterator iter = hosts.iterator(); - while(iter.hasNext()) - { - String host = (String)iter.next(); - if(includeLoopback || hosts.size() == 1 || !host.equals("127.0.0.1")) - { - endps.add(new SslEndpointI(_instance, host, _port, _timeout, _connectionId, _compress, - hosts.size() == 1 || !host.equals("127.0.0.1"))); - } - } - } - else - { - endps.add(this); - } - return endps; - } - - // - // Return whether endpoint should be published in proxies - // created by Object Adapter. - // - public boolean - publish() - { - return _publish; - } - - // - // Check whether the endpoint is equivalent to a specific - // Transceiver or Acceptor - // - public boolean - equivalent(IceInternal.Transceiver transceiver) - { - return false; - } - - public boolean - equivalent(IceInternal.Acceptor acceptor) - { - SslAcceptor sslAcceptor = null; - try - { - sslAcceptor = (SslAcceptor)acceptor; - } - catch(ClassCastException ex) - { - return false; - } - return sslAcceptor.equivalent(_host, _port); - } - - public int - hashCode() - { - return _hashCode; - } - - // - // Compare endpoints for sorting purposes - // - public boolean - equals(java.lang.Object obj) - { - return compareTo(obj) == 0; - } - - public int - compareTo(java.lang.Object obj) // From java.lang.Comparable - { - SslEndpointI p = null; - - try - { - p = (SslEndpointI)obj; - } - catch(ClassCastException ex) - { - return 1; - } - - if(this == p) - { - return 0; - } - - if(_port < p._port) - { - return -1; - } - else if(p._port < _port) - { - return 1; - } - - if(!_connectionId.equals(p._connectionId)) - { - return _connectionId.compareTo(p._connectionId); - } - - if(_timeout < p._timeout) - { - return -1; - } - else if(p._timeout < _timeout) - { - return 1; - } - - if(!_compress && p._compress) - { - return -1; - } - else if(!p._compress && _compress) - { - return 1; - } - - if(!_host.equals(p._host)) - { - // - // We do the most time-consuming part of the comparison last. - // - java.net.InetSocketAddress laddr = null; - try - { - laddr = IceInternal.Network.getAddress(_host, _port); - } - catch(Ice.DNSException ex) - { - } - - java.net.InetSocketAddress raddr = null; - try - { - raddr = IceInternal.Network.getAddress(p._host, p._port); - } - catch(Ice.DNSException ex) - { - } - - if(laddr == null && raddr != null) - { - return -1; - } - else if(raddr == null && laddr != null) - { - return 1; - } - else if(laddr != null && raddr != null) - { - byte[] larr = laddr.getAddress().getAddress(); - byte[] rarr = raddr.getAddress().getAddress(); - assert(larr.length == rarr.length); - for(int i = 0; i < larr.length; i++) - { - if(larr[i] < rarr[i]) - { - return -1; - } - else if(rarr[i] < larr[i]) - { - return 1; - } - } - } - } - - return 0; - } - - private void - calcHashValue() - { - try - { - java.net.InetAddress addr = java.net.InetAddress.getByName(_host); - _hashCode = addr.getHostAddress().hashCode(); - } - catch(java.net.UnknownHostException ex) - { - _hashCode = _host.hashCode(); - } - _hashCode = 5 * _hashCode + _port; - _hashCode = 5 * _hashCode + _timeout; - _hashCode = 5 * _hashCode + _connectionId.hashCode(); - _hashCode = 5 * _hashCode + (_compress ? 1 : 0); - } - - private Instance _instance; - private String _host; - private int _port; - private int _timeout; - private String _connectionId = ""; - private boolean _compress; - private boolean _publish; - private int _hashCode; -} |