Search in sources :

Example 1 with ServerChannelInitializer

use of org.opendaylight.netconf.impl.ServerChannelInitializer in project netconf by opendaylight.

the class NetconfDeviceSimulator method createDispatcher.

private NetconfServerDispatcherImpl createDispatcher(final Set<Capability> capabilities, final SchemaSourceProvider<YangTextSchemaSource> sourceProvider) {
    final Set<Capability> transformedCapabilities = new HashSet<>(Collections2.transform(capabilities, input -> {
        if (sendFakeSchema) {
            sendFakeSchema = false;
            return new FakeCapability((YangModuleCapability) input);
        } else {
            return input;
        }
    }));
    transformedCapabilities.add(new BasicCapability("urn:ietf:params:netconf:capability:candidate:1.0"));
    final NetconfMonitoringService monitoringService1 = new DummyMonitoringService(transformedCapabilities);
    final SessionIdProvider idProvider = new SessionIdProvider();
    final NetconfOperationServiceFactory aggregatedNetconfOperationServiceFactory = createOperationServiceFactory(sourceProvider, transformedCapabilities, monitoringService1, idProvider);
    final Set<String> serverCapabilities = configuration.getCapabilities();
    final NetconfServerSessionNegotiatorFactory serverNegotiatorFactory = new TesttoolNegotiationFactory(hashedWheelTimer, aggregatedNetconfOperationServiceFactory, idProvider, configuration.getGenerateConfigsTimeout(), monitoringService1, serverCapabilities);
    final ServerChannelInitializer serverChannelInitializer = new ServerChannelInitializer(serverNegotiatorFactory);
    return new NetconfServerDispatcherImpl(serverChannelInitializer, nettyThreadgroup, nettyThreadgroup);
}
Also used : Configuration(org.opendaylight.netconf.test.tool.config.Configuration) SettableOperationProvider(org.opendaylight.netconf.test.tool.customrpc.SettableOperationProvider) KeyPairProvider(org.opendaylight.netconf.shaded.sshd.common.keyprovider.KeyPairProvider) NetconfMonitoringOperationService(org.opendaylight.netconf.test.tool.monitoring.NetconfMonitoringOperationService) LoggerFactory(org.slf4j.LoggerFactory) Collections2(com.google.common.collect.Collections2) ThreadUtils(org.opendaylight.netconf.shaded.sshd.common.util.threads.ThreadUtils) SshProxyServerConfiguration(org.opendaylight.netconf.ssh.SshProxyServerConfiguration) LocalAddress(io.netty.channel.local.LocalAddress) ServerChannelInitializer(org.opendaylight.netconf.impl.ServerChannelInitializer) NetconfMonitoringService(org.opendaylight.netconf.api.monitoring.NetconfMonitoringService) SchemaSourceCache(org.opendaylight.netconf.test.tool.schemacache.SchemaSourceCache) Capability(org.opendaylight.netconf.api.capability.Capability) Module(org.opendaylight.yangtools.yang.model.api.Module) Set(java.util.Set) NetconfServerDispatcherImpl(org.opendaylight.netconf.impl.NetconfServerDispatcherImpl) DefaultOperationsCreator(org.opendaylight.netconf.test.tool.operations.DefaultOperationsCreator) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) InetSocketAddress(java.net.InetSocketAddress) ModuleLike(org.opendaylight.yangtools.yang.model.api.ModuleLike) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup) Executors(java.util.concurrent.Executors) SchemaSourceRepresentation(org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation) List(java.util.List) SshProxyServerConfigurationBuilder(org.opendaylight.netconf.ssh.SshProxyServerConfigurationBuilder) Revision(org.opendaylight.yangtools.yang.common.Revision) PotentialSchemaSource(org.opendaylight.yangtools.yang.model.repo.spi.PotentialSchemaSource) HashedWheelTimer(io.netty.util.HashedWheelTimer) AsynchronousChannelGroup(java.nio.channels.AsynchronousChannelGroup) Optional(java.util.Optional) NetconfMonitoringOperationServiceFactory(org.opendaylight.netconf.test.tool.monitoring.NetconfMonitoringOperationServiceFactory) SshProxyServer(org.opendaylight.netconf.ssh.SshProxyServer) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) ThreadFactoryBuilder(com.google.common.util.concurrent.ThreadFactoryBuilder) YangTextSchemaSource(org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource) OperationsProvider(org.opendaylight.netconf.test.tool.operations.OperationsProvider) SettableOperationRpcProvider(org.opendaylight.netconf.test.tool.rpchandler.SettableOperationRpcProvider) Submodule(org.opendaylight.yangtools.yang.model.api.Submodule) SharedSchemaRepository(org.opendaylight.yangtools.yang.parser.repo.SharedSchemaRepository) BindException(java.net.BindException) NetconfServerSessionNegotiatorFactory(org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) SessionIdProvider(org.opendaylight.netconf.impl.SessionIdProvider) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) ExecutorService(java.util.concurrent.ExecutorService) SchemaSourceProvider(org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider) AggregatedNetconfOperationServiceFactory(org.opendaylight.netconf.impl.osgi.AggregatedNetconfOperationServiceFactory) Logger(org.slf4j.Logger) SourceIdentifier(org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier) TextToIRTransformer(org.opendaylight.yangtools.yang.parser.rfc7950.repo.TextToIRTransformer) IOException(java.io.IOException) EffectiveModelContext(org.opendaylight.yangtools.yang.model.api.EffectiveModelContext) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) Inet4Address(java.net.Inet4Address) UnknownHostException(java.net.UnknownHostException) ChannelFuture(io.netty.channel.ChannelFuture) Channel(io.netty.channel.Channel) ExecutionException(java.util.concurrent.ExecutionException) Futures(com.google.common.util.concurrent.Futures) RevisionSourceIdentifier(org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier) Closeable(java.io.Closeable) NetconfOperationServiceFactory(org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory) FilesystemSchemaSourceCache(org.opendaylight.yangtools.yang.model.repo.fs.FilesystemSchemaSourceCache) SchemaSourceListener(org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceListener) Capability(org.opendaylight.netconf.api.capability.Capability) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) SessionIdProvider(org.opendaylight.netconf.impl.SessionIdProvider) BasicCapability(org.opendaylight.netconf.api.capability.BasicCapability) YangModuleCapability(org.opendaylight.netconf.api.capability.YangModuleCapability) NetconfServerDispatcherImpl(org.opendaylight.netconf.impl.NetconfServerDispatcherImpl) AggregatedNetconfOperationServiceFactory(org.opendaylight.netconf.impl.osgi.AggregatedNetconfOperationServiceFactory) NetconfOperationServiceFactory(org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory) NetconfMonitoringService(org.opendaylight.netconf.api.monitoring.NetconfMonitoringService) NetconfServerSessionNegotiatorFactory(org.opendaylight.netconf.impl.NetconfServerSessionNegotiatorFactory) ServerChannelInitializer(org.opendaylight.netconf.impl.ServerChannelInitializer) HashSet(java.util.HashSet)

Aggregations

Collections2 (com.google.common.collect.Collections2)1 Futures (com.google.common.util.concurrent.Futures)1 ThreadFactoryBuilder (com.google.common.util.concurrent.ThreadFactoryBuilder)1 SuppressFBWarnings (edu.umd.cs.findbugs.annotations.SuppressFBWarnings)1 Channel (io.netty.channel.Channel)1 ChannelFuture (io.netty.channel.ChannelFuture)1 LocalAddress (io.netty.channel.local.LocalAddress)1 NioEventLoopGroup (io.netty.channel.nio.NioEventLoopGroup)1 HashedWheelTimer (io.netty.util.HashedWheelTimer)1 Closeable (java.io.Closeable)1 IOException (java.io.IOException)1 BindException (java.net.BindException)1 Inet4Address (java.net.Inet4Address)1 InetSocketAddress (java.net.InetSocketAddress)1 UnknownHostException (java.net.UnknownHostException)1 AsynchronousChannelGroup (java.nio.channels.AsynchronousChannelGroup)1 ArrayList (java.util.ArrayList)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Optional (java.util.Optional)1