BUG-4370: BGP reconnecting client: channel initiation 58/28058/3
authorIveta Halanova <ihalanov@cisco.com>
Thu, 8 Oct 2015 13:15:40 +0000 (15:15 +0200)
committerMilos Fabian <milfabia@cisco.com>
Thu, 8 Oct 2015 14:11:01 +0000 (14:11 +0000)
initializing channel with new decoders and encoders instances.

Change-Id: Ia193ad558bc3f03a4c50f8868233f22dcbe31373
Signed-off-by: Iveta Halanova <ihalanov@cisco.com>
bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPDispatcherImpl.java

index 7c163c0a3e805308af97d7783f920da35c31c179..fcc1417af2495c7bb13fd1b4ef4ecac2f8a55ebc 100644 (file)
@@ -73,8 +73,7 @@ public class BGPDispatcherImpl implements BGPDispatcher, AutoCloseable {
     @Override
     public synchronized Future<BGPSessionImpl> createClient(final InetSocketAddress address, final BGPPeerRegistry listener, final ReconnectStrategy strategy) {
         final BGPClientSessionNegotiatorFactory snf = new BGPClientSessionNegotiatorFactory(listener);
-        final ChannelPipelineInitializer initializer = BGPChannel.createChannelPipelineInitializer
-            (BGPDispatcherImpl.this.hf.getDecoders(), snf, BGPDispatcherImpl.this.hf.getEncoders());
+        final ChannelPipelineInitializer initializer = BGPChannel.createChannelPipelineInitializer(BGPDispatcherImpl.this.hf, snf);
 
         final Bootstrap b = new Bootstrap();
         final BGPProtocolSessionPromise p = new BGPProtocolSessionPromise(this.executor, address, strategy, b);
@@ -104,7 +103,7 @@ public class BGPDispatcherImpl implements BGPDispatcher, AutoCloseable {
 
         final Bootstrap b = new Bootstrap();
         final BGPReconnectPromise p = new BGPReconnectPromise<BGPSessionImpl>(GlobalEventExecutor.INSTANCE, address,
-            connectStrategyFactory, b, BGPChannel.createChannelPipelineInitializer(BGPDispatcherImpl.this.hf.getDecoders(), snf, BGPDispatcherImpl.this.hf.getEncoders()));
+            connectStrategyFactory, b, BGPChannel.createChannelPipelineInitializer(BGPDispatcherImpl.this.hf, snf));
         b.option(ChannelOption.SO_KEEPALIVE, Boolean.TRUE);
         this.customizeBootstrap(b);
         setWorkerGroup(b);
@@ -118,8 +117,7 @@ public class BGPDispatcherImpl implements BGPDispatcher, AutoCloseable {
     @Override
     public ChannelFuture createServer(final BGPPeerRegistry registry, final InetSocketAddress address) {
         final BGPServerSessionNegotiatorFactory snf = new BGPServerSessionNegotiatorFactory(registry);
-        final ChannelPipelineInitializer initializer = BGPChannel.createChannelPipelineInitializer
-            (BGPDispatcherImpl.this.hf.getDecoders(), snf, BGPDispatcherImpl.this.hf.getEncoders());
+        final ChannelPipelineInitializer initializer = BGPChannel.createChannelPipelineInitializer(BGPDispatcherImpl.this.hf, snf);
         final ServerBootstrap b = new ServerBootstrap();
         b.childHandler(BGPChannel.createChannelInitializer(initializer, new DefaultPromise(BGPDispatcherImpl.this.executor)));
         b.option(ChannelOption.SO_BACKLOG, Integer.valueOf(SOCKET_BACKLOG_SIZE));
@@ -186,13 +184,13 @@ public class BGPDispatcherImpl implements BGPDispatcher, AutoCloseable {
         }
 
         public static <S extends BGPSession, T extends BGPSessionNegotiatorFactory> ChannelPipelineInitializer
-            createChannelPipelineInitializer(final ChannelHandler[] channelDecoder, final T snf, final ChannelHandler[] channelEncoder) {
+            createChannelPipelineInitializer(final BGPHandlerFactory hf, final T snf) {
             return new ChannelPipelineInitializer<S>() {
                 @Override
                 public void initializeChannel(final SocketChannel ch, final Promise<S> promise) {
-                    ch.pipeline().addLast(channelDecoder);
+                    ch.pipeline().addLast(hf.getDecoders());
                     ch.pipeline().addLast(NEGOTIATOR, snf.getSessionNegotiator(ch, promise));
-                    ch.pipeline().addLast(channelEncoder);
+                    ch.pipeline().addLast(hf.getEncoders());
                 }
             };
         }
@@ -206,4 +204,4 @@ public class BGPDispatcherImpl implements BGPDispatcher, AutoCloseable {
             };
         }
     }
-}
\ No newline at end of file
+}