Package org.apache.cassandra.transport
Class PipelineConfigurator
- java.lang.Object
-
- org.apache.cassandra.transport.PipelineConfigurator
-
public class PipelineConfigurator extends java.lang.ObjectTakes 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.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSSL_FACTORY_CONTEXT_DESCRIPTION
-
Constructor Summary
Constructors Constructor Description PipelineConfigurator(boolean epoll, boolean keepAlive, boolean useLegacyFlusher, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy)Deprecated.PipelineConfigurator(boolean epoll, boolean keepAlive, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy, Dispatcher dispatcher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfigureInitialPipeline(io.netty.channel.Channel channel, Connection.Factory connectionFactory)voidconfigureLegacyPipeline(io.netty.channel.ChannelHandlerContext ctx, org.apache.cassandra.transport.ClientResourceLimits.Allocator limits)voidconfigureModernPipeline(io.netty.channel.ChannelHandlerContext ctx, ServerConnection serverConnection, org.apache.cassandra.transport.ClientResourceLimits.Allocator resourceAllocator, ProtocolVersion version, java.util.Map<java.lang.String,java.lang.String> options)protected Dispatcherdispatcher(boolean useLegacyFlusher)protected org.apache.cassandra.transport.PipelineConfigurator.EncryptionConfigencryptionConfig()protected FrameDecoderframeDecoder(java.lang.String compression, BufferPoolAllocator allocator)protected FrameEncoderframeEncoder(java.lang.String compression)io.netty.channel.ChannelFutureinitializeChannel(io.netty.channel.EventLoopGroup workerGroup, java.net.InetSocketAddress socket, Connection.Factory connectionFactory)protected io.netty.channel.ChannelInitializer<io.netty.channel.Channel>initializer(Connection.Factory connectionFactory)protected org.apache.cassandra.transport.CQLMessageHandler.MessageConsumer<Message.Request>messageConsumer()protected org.apache.cassandra.transport.Message.Decoder<Message.Request>messageDecoder()protected voidonInitialPipelineReady(io.netty.channel.ChannelPipeline pipeline)protected voidonNegotiationComplete(io.netty.channel.ChannelPipeline pipeline)protected org.apache.cassandra.transport.ClientResourceLimits.ResourceProviderresourceProvider(org.apache.cassandra.transport.ClientResourceLimits.Allocator allocator)
-
-
-
Field Detail
-
SSL_FACTORY_CONTEXT_DESCRIPTION
public static final java.lang.String SSL_FACTORY_CONTEXT_DESCRIPTION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PipelineConfigurator
public PipelineConfigurator(boolean epoll, boolean keepAlive, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy, Dispatcher dispatcher)
-
PipelineConfigurator
@Deprecated public PipelineConfigurator(boolean epoll, boolean keepAlive, boolean useLegacyFlusher, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy)Deprecated.
-
-
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, ServerConnection serverConnection, 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()
-
frameDecoder
protected FrameDecoder frameDecoder(java.lang.String compression, BufferPoolAllocator allocator)
-
frameEncoder
protected FrameEncoder frameEncoder(java.lang.String compression)
-
configureLegacyPipeline
public void configureLegacyPipeline(io.netty.channel.ChannelHandlerContext ctx, org.apache.cassandra.transport.ClientResourceLimits.Allocator limits)
-
-