Class PipelineConfigurator


  • public class PipelineConfigurator
    extends java.lang.Object
    Takes care of intializing a Netty Channel and Pipeline for client protocol connections. The pipeline is first set up with some common handlers for connection limiting, dropping idle connections and optionally SSL, along with a handler to deal with the handshake between client and server. That handshake handler calls back to this class to reconfigure the pipeline once the protocol version for the connection has been established.
    • Method Detail

      • initializeChannel

        public io.netty.channel.ChannelFuture initializeChannel​(io.netty.channel.EventLoopGroup workerGroup,
                                                                java.net.InetSocketAddress socket,
                                                                Connection.Factory connectionFactory)
      • initializer

        protected io.netty.channel.ChannelInitializer<io.netty.channel.Channel> initializer​(Connection.Factory connectionFactory)
      • encryptionConfig

        protected org.apache.cassandra.transport.PipelineConfigurator.EncryptionConfig encryptionConfig()
      • configureInitialPipeline

        public void configureInitialPipeline​(io.netty.channel.Channel channel,
                                             Connection.Factory connectionFactory)
      • configureModernPipeline

        public void configureModernPipeline​(io.netty.channel.ChannelHandlerContext ctx,
                                            org.apache.cassandra.transport.ClientResourceLimits.Allocator resourceAllocator,
                                            ProtocolVersion version,
                                            java.util.Map<java.lang.String,​java.lang.String> options)
      • onInitialPipelineReady

        protected void onInitialPipelineReady​(io.netty.channel.ChannelPipeline pipeline)
      • onNegotiationComplete

        protected void onNegotiationComplete​(io.netty.channel.ChannelPipeline pipeline)
      • resourceProvider

        protected org.apache.cassandra.transport.ClientResourceLimits.ResourceProvider resourceProvider​(org.apache.cassandra.transport.ClientResourceLimits.Allocator allocator)
      • dispatcher

        protected Dispatcher dispatcher​(boolean useLegacyFlusher)
      • messageConsumer

        protected org.apache.cassandra.transport.CQLMessageHandler.MessageConsumer<Message.Request> messageConsumer()
      • messageDecoder

        protected org.apache.cassandra.transport.Message.Decoder<Message.Request> messageDecoder()
      • frameEncoder

        protected FrameEncoder frameEncoder​(java.lang.String compression)
      • configureLegacyPipeline

        public void configureLegacyPipeline​(io.netty.channel.ChannelHandlerContext ctx,
                                            org.apache.cassandra.transport.ClientResourceLimits.Allocator limits)