ConnectorI.java
// Copyright (c) ZeroC, Inc.
package com.zeroc.Ice.SSL;
import com.zeroc.Ice.Connector;
import com.zeroc.Ice.Transceiver;
final class ConnectorI implements Connector {
@Override
public Transceiver connect() {
SSLEngineFactory clientSSLEngineFactory =
_instance.initializationData().clientSSLEngineFactory;
if (clientSSLEngineFactory == null) {
clientSSLEngineFactory =
(peerHost, peerPort) ->
_instance.engine().createSSLEngine(false, peerHost, peerPort);
}
return new TransceiverI(
_instance, _delegate.connect(), _host, false, clientSSLEngineFactory);
}
@Override
public short type() {
return _delegate.type();
}
@Override
public String toString() {
return _delegate.toString();
}
@Override
public int hashCode() {
return _delegate.hashCode();
}
//
// Only for use by EndpointI.
//
ConnectorI(Instance instance, Connector delegate, String host) {
_instance = instance;
_delegate = delegate;
_host = host;
}
@Override
public boolean equals(java.lang.Object obj) {
if (!(obj instanceof ConnectorI)) {
return false;
}
if (this == obj) {
return true;
}
ConnectorI p = (ConnectorI) obj;
return p._delegate.equals(_delegate);
}
private final Instance _instance;
private final Connector _delegate;
private final String _host;
}