Package org.apache.cassandra.transport
Class PipelineConfigurator
java.lang.Object
org.apache.cassandra.transport.PipelineConfigurator
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.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPipelineConfigurator(boolean epoll, boolean keepAlive, boolean useLegacyFlusher, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy) PipelineConfigurator(boolean epoll, boolean keepAlive, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy, Dispatcher dispatcher) -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigureInitialPipeline(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, Map<String, String> options) protected Dispatcherdispatcher(boolean useLegacyFlusher) protected org.apache.cassandra.transport.PipelineConfigurator.EncryptionConfigprotected FrameDecoderframeDecoder(String compression, BufferPoolAllocator allocator) protected FrameEncoderframeEncoder(String compression) io.netty.channel.ChannelFutureinitializeChannel(io.netty.channel.EventLoopGroup workerGroup, 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>protected org.apache.cassandra.transport.Message.Decoder<Message.Request>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 Details
-
SSL_FACTORY_CONTEXT_DESCRIPTION
- See Also:
-
-
Constructor Details
-
PipelineConfigurator
public PipelineConfigurator(boolean epoll, boolean keepAlive, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy, Dispatcher dispatcher) -
PipelineConfigurator
public PipelineConfigurator(boolean epoll, boolean keepAlive, boolean useLegacyFlusher, EncryptionOptions.TlsEncryptionPolicy encryptionPolicy)
-
-
Method Details
-
initializeChannel
public io.netty.channel.ChannelFuture initializeChannel(io.netty.channel.EventLoopGroup workerGroup, 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, Map<String, 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
-
messageConsumer
protected org.apache.cassandra.transport.CQLMessageHandler.MessageConsumer<Message.Request> messageConsumer() -
messageDecoder
-
frameDecoder
-
frameEncoder
-
configureLegacyPipeline
public void configureLegacyPipeline(io.netty.channel.ChannelHandlerContext ctx, org.apache.cassandra.transport.ClientResourceLimits.Allocator limits)
-