protected NetconfClientSessionNegotiatorFactory getNegotiatorFactory(final NetconfClientConfiguration cfg) { return new NetconfClientSessionNegotiatorFactory(timer, cfg.getAdditionalHeader(), cfg.getConnectionTimeoutMillis()); } }
public NetconfClientConfiguration build() { return new NetconfClientConfiguration(clientProtocol, address, connectionTimeoutMillis, additionalHeader, sessionListener, reconnectStrategy, authHandler); } }
@Override protected ToStringHelper buildToStringHelper() { return super.buildToStringHelper().add("connectStrategyFactory", connectStrategyFactory); } }
private Future<NetconfClientSession> createSshClient(final NetconfClientConfiguration currentConfiguration) { LOG.debug("Creating SSH client with configuration: {}", currentConfiguration); return super.createClient(currentConfiguration.getAddress(), currentConfiguration.getReconnectStrategy(), new PipelineInitializer<NetconfClientSession>() { @Override public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> sessionPromise) { new SshClientChannelInitializer(currentConfiguration.getAuthHandler(), getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener()) .initialize(ch, sessionPromise); } }); }
@Override public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> sessionPromise) { new SshClientChannelInitializer(currentConfiguration.getAuthHandler(), getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener()) .initialize(ch, sessionPromise); }
NetconfClientConfiguration(final NetconfClientProtocol protocol, final InetSocketAddress address, final Long connectionTimeoutMillis, final NetconfHelloMessageAdditionalHeader additionalHeader, final NetconfClientSessionListener sessionListener, final ReconnectStrategy reconnectStrategy, final AuthenticationHandler authHandler) { this.address = address; this.connectionTimeoutMillis = connectionTimeoutMillis; this.additionalHeader = additionalHeader; this.sessionListener = sessionListener; this.clientProtocol = protocol; this.reconnectStrategy = reconnectStrategy; this.authHandler = authHandler; validateConfiguration(); }
@Override public Future<NetconfClientSession> createClient(final NetconfClientConfiguration clientConfiguration) { switch (clientConfiguration.getProtocol()) { case TCP: return createTcpClient(clientConfiguration); case SSH: return createSshClient(clientConfiguration); } throw new IllegalArgumentException("Unknown client protocol " + clientConfiguration.getProtocol()); }
private void initialize(final SocketChannel ch, final Promise<NetconfClientSession> promise) { new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration), currentConfiguration .getSessionListener()).initialize(ch, promise); } });
private Future<NetconfClientSession> createTcpClient(final NetconfClientConfiguration currentConfiguration) { LOG.debug("Creating TCP client with configuration: {}", currentConfiguration); return super.createClient(currentConfiguration.getAddress(), currentConfiguration.getReconnectStrategy(), new PipelineInitializer<NetconfClientSession>() { @Override public void initializeChannel(final SocketChannel ch, final Promise<NetconfClientSession> promise) { initialize(ch, promise); } private void initialize(final SocketChannel ch, final Promise<NetconfClientSession> promise) { new TcpClientChannelInitializer(getNegotiatorFactory(currentConfiguration), currentConfiguration .getSessionListener()).initialize(ch, promise); } }); }
@Override protected NetconfClientSessionNegotiatorFactory getNegotiatorFactory(final NetconfClientConfiguration cfg) { return new NetconfClientSessionNegotiatorFactory(getTimer(), cfg.getAdditionalHeader(), cfg.getConnectionTimeoutMillis(), capabilities); } }
@Override public final String toString() { return buildToStringHelper().toString(); }