Package org.apache.cassandra.net
Class OutboundConnectionInitiator<SuccessType extends OutboundConnectionInitiator.Result.Success>
java.lang.Object
org.apache.cassandra.net.OutboundConnectionInitiator<SuccessType>
public class OutboundConnectionInitiator<SuccessType extends OutboundConnectionInitiator.Result.Success>
extends Object
A
ChannelHandler to execute the send-side of the internode handshake protocol.
As soon as the handler is added to the channel via ChannelInboundHandler.channelActive(ChannelHandlerContext)
(which is only invoked if the underlying TCP connection was properly established), the HandshakeProtocol.Initiate
handshake is sent. See HandshakeProtocol for full details.
Upon completion of the handshake (on success or fail), the resultPromise is completed.
See OutboundConnectionInitiator.Result for details about the different result states.
This class extends ByteToMessageDecoder, which is a ChannelInboundHandler, because this handler
waits for the peer's handshake response (the HandshakeProtocol.Accept of the internode messaging handshake protocol).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe result of the handshake.static enum -
Method Summary
Modifier and TypeMethodDescriptionstatic io.netty.util.concurrent.Future<OutboundConnectionInitiator.Result<OutboundConnectionInitiator.Result.StreamingSuccess>>initiateStreaming(io.netty.channel.EventLoop eventLoop, OutboundConnectionSettings settings, OutboundConnectionInitiator.SslFallbackConnectionType sslConnectionType) Initiate a connection with the requested messaging version.
-
Method Details
-
initiateStreaming
public static io.netty.util.concurrent.Future<OutboundConnectionInitiator.Result<OutboundConnectionInitiator.Result.StreamingSuccess>> initiateStreaming(io.netty.channel.EventLoop eventLoop, OutboundConnectionSettings settings, OutboundConnectionInitiator.SslFallbackConnectionType sslConnectionType) Initiate a connection with the requested messaging version. if the other node supports a newer version, or doesn't support this version, we will fail to connect and try again with the version they reported The returnedFutureis guaranteed to be completed on the supplied eventLoop.
-