X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fnetconf-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fclient%2FNetconfClientDispatcherImpl.java;h=321cb4ba44a20d9b6c71cd524aa71e553a6511fe;hb=995f11a17da91d69a4c6650016ff4b6afafc1259;hp=2f76f2b8b7ee4ae0815c1a633b536b8b2dcfe4ae;hpb=3a8538e6ecdea4f7bd82be49f5391b32358852da;p=netconf.git diff --git a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientDispatcherImpl.java b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientDispatcherImpl.java index 2f76f2b8b7..321cb4ba44 100644 --- a/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientDispatcherImpl.java +++ b/netconf/netconf-client/src/main/java/org/opendaylight/netconf/client/NetconfClientDispatcherImpl.java @@ -13,6 +13,8 @@ import io.netty.util.concurrent.Future; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import org.apache.sshd.client.SshClient; +import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.netconf.client.conf.NetconfClientConfiguration; import org.opendaylight.netconf.client.conf.NetconfReconnectingClientConfiguration; import org.opendaylight.netconf.nettyutil.AbstractNetconfDispatcher; @@ -27,11 +29,18 @@ public class NetconfClientDispatcherImpl private static final Logger LOG = LoggerFactory.getLogger(NetconfClientDispatcherImpl.class); private final Timer timer; + private final SshClient sshClient; public NetconfClientDispatcherImpl(final EventLoopGroup bossGroup, final EventLoopGroup workerGroup, - final Timer timer) { + final Timer timer, @Nullable final SshClient sshClient) { super(bossGroup, workerGroup); this.timer = timer; + this.sshClient = sshClient; + } + + public NetconfClientDispatcherImpl(final EventLoopGroup bossGroup, final EventLoopGroup workerGroup, + final Timer timer) { + this(bossGroup, workerGroup, timer, null); } protected Timer getTimer() { @@ -90,15 +99,15 @@ public class NetconfClientDispatcherImpl LOG.debug("Creating SSH client with configuration: {}", currentConfiguration); return super.createClient(currentConfiguration.getAddress(), currentConfiguration.getReconnectStrategy(), (ch, sessionPromise) -> new SshClientChannelInitializer(currentConfiguration.getAuthHandler(), - getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener()) - .initialize(ch, sessionPromise)); + getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener(), + sshClient).initialize(ch, sessionPromise)); } private Future createReconnectingSshClient( final NetconfReconnectingClientConfiguration currentConfiguration) { LOG.debug("Creating reconnecting SSH client with configuration: {}", currentConfiguration); final SshClientChannelInitializer init = new SshClientChannelInitializer(currentConfiguration.getAuthHandler(), - getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener()); + getNegotiatorFactory(currentConfiguration), currentConfiguration.getSessionListener(), sshClient); return super.createReconnectingClient(currentConfiguration.getAddress(), currentConfiguration .getConnectStrategyFactory(), currentConfiguration.getReconnectStrategy(),