import io.netty.handler.ssl.ClientAuth;
import io.netty.handler.ssl.SslContextBuilder;
import io.netty.handler.ssl.SslHandler;
-import io.netty.util.HashedWheelTimer;
import io.netty.util.concurrent.Promise;
import java.math.BigInteger;
import java.net.InetAddress;
import java.time.Duration;
import java.time.Instant;
import java.util.Date;
+import java.util.Optional;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.opendaylight.netconf.callhome.server.CallHomeStatusRecorder;
import org.opendaylight.netconf.client.NetconfClientSession;
import org.opendaylight.netconf.client.NetconfClientSessionListener;
+import org.opendaylight.netconf.client.NetconfClientSessionNegotiatorFactory;
+import org.opendaylight.netconf.common.impl.DefaultNetconfTimer;
import org.opendaylight.netconf.nettyutil.AbstractChannelInitializer;
import org.opendaylight.netconf.server.NetconfServerSession;
import org.opendaylight.netconf.server.NetconfServerSessionNegotiatorFactory;
// Auth provider
final var authProvider = new CallHomeTlsAuthProvider() {
@Override
- public @Nullable String idFor(@NonNull PublicKey publicKey) {
+ public @Nullable String idFor(@NonNull
+ final PublicKey publicKey) {
// identify client 3 only
return clientCert3.keyPair.getPublic().equals(publicKey) ? "client-id" : null;
}
doReturn(serverSessionListener).when(monitoringService).getSessionListener();
doReturn(EMPTY_CAPABILITIES).when(monitoringService).getCapabilities();
+ final var timer = new DefaultNetconfTimer();
+
final var negotiatorFactory = NetconfServerSessionNegotiatorFactory.builder()
- .setTimer(new HashedWheelTimer())
+ .setTimer(timer)
.setAggregatedOpService(new AggregatedNetconfOperationServiceFactory())
.setIdProvider(new DefaultSessionIdProvider())
.setConnectionTimeoutMillis(TIMEOUT)
.withAuthProvider(authProvider)
.withSessionContextManager(contextMgr)
.withStatusRecorder(statusRecorder)
+ .withNegotiationFactory(new NetconfClientSessionNegotiatorFactory(timer, Optional.empty(), TIMEOUT,
+ NetconfClientSessionNegotiatorFactory.DEFAULT_CLIENT_CAPABILITIES))
.withPort(serverPort).build();
TLSServer client1 = null;
shutdownClient(client1);
shutdownClient(client2);
shutdownClient(client3);
+ timer.close();
}
// validate disconnect reported