Class ControlClient
java.lang.Object
org.apache.drill.exec.rpc.RpcBus<BitControl.RpcType,ControlConnection>
org.apache.drill.exec.rpc.BasicClient<BitControl.RpcType,ControlConnection,BitControl.BitControlHandshake,BitControl.BitControlHandshake>
org.apache.drill.exec.rpc.control.ControlClient
- All Implemented Interfaces:
Closeable,AutoCloseable
public class ControlClient
extends BasicClient<BitControl.RpcType,ControlConnection,BitControl.BitControlHandshake,BitControl.BitControlHandshake>
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.drill.exec.rpc.RpcBus
RpcBus.ChannelClosedHandler, RpcBus.InboundHandler -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionControlClient(ControlConnectionConfig config, CoordinationProtos.DrillbitEndpoint remoteEndpoint, ReconnectingConnection<ControlConnection, BitControl.BitControlHandshake>.CloseHandlerCreator closeHandlerFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfinalizeConnection(BitControl.BitControlHandshake handshake, ControlConnection connection) protected io.netty.util.concurrent.GenericFutureListener<io.netty.channel.ChannelFuture> getCloseHandler(io.netty.channel.socket.SocketChannel ch, ControlConnection clientConnection) getDecoder(BufferAllocator allocator) com.google.protobuf.MessageLitegetResponseDefaultInstance(int rpcType) protected voidhandle(ControlConnection connection, int rpcType, io.netty.buffer.ByteBuf pBody, io.netty.buffer.ByteBuf dBody, ResponseSender sender) protected ControlConnectioninitRemoteConnection(io.netty.channel.socket.SocketChannel channel) protected voidprepareSaslHandshake(RpcConnectionHandler<ControlConnection> connectionHandler, List<String> serverAuthMechanisms) Creates various instances needed to start the SASL handshake.validateHandshake(BitControl.BitControlHandshake handshake) Methods inherited from class org.apache.drill.exec.rpc.BasicClient
close, connectAsClient, hasPing, isActive, isAuthComplete, isSslEnabled, send, send, send, setAuthComplete, setAutoRead, setSslChannel, setupSSL, startSaslHandshake
-
Constructor Details
-
ControlClient
public ControlClient(ControlConnectionConfig config, CoordinationProtos.DrillbitEndpoint remoteEndpoint, ReconnectingConnection<ControlConnection, BitControl.BitControlHandshake>.CloseHandlerCreator closeHandlerFactory)
-
-
Method Details
-
initRemoteConnection
-
getCloseHandler
protected io.netty.util.concurrent.GenericFutureListener<io.netty.channel.ChannelFuture> getCloseHandler(io.netty.channel.socket.SocketChannel ch, ControlConnection clientConnection) - Overrides:
getCloseHandlerin classRpcBus<BitControl.RpcType,ControlConnection>
-
getResponseDefaultInstance
- Specified by:
getResponseDefaultInstancein classRpcBus<BitControl.RpcType,ControlConnection> - Throws:
RpcException
-
handle
protected void handle(ControlConnection connection, int rpcType, io.netty.buffer.ByteBuf pBody, io.netty.buffer.ByteBuf dBody, ResponseSender sender) throws RpcException - Specified by:
handlein classRpcBus<BitControl.RpcType,ControlConnection> - Throws:
RpcException
-
prepareSaslHandshake
protected void prepareSaslHandshake(RpcConnectionHandler<ControlConnection> connectionHandler, List<String> serverAuthMechanisms) Description copied from class:BasicClientCreates various instances needed to start the SASL handshake. This is called fromBasicClient.validateHandshake(MessageLite)if authentication is required from server side.- Specified by:
prepareSaslHandshakein classBasicClient<BitControl.RpcType,ControlConnection, BitControl.BitControlHandshake, BitControl.BitControlHandshake> - Parameters:
connectionHandler- - Connection handler used by client's to know about success/failure conditions.serverAuthMechanisms- - List of auth mechanisms configured on server side
-
validateHandshake
protected List<String> validateHandshake(BitControl.BitControlHandshake handshake) throws RpcException - Specified by:
validateHandshakein classBasicClient<BitControl.RpcType,ControlConnection, BitControl.BitControlHandshake, BitControl.BitControlHandshake> - Throws:
RpcException
-
finalizeConnection
protected void finalizeConnection(BitControl.BitControlHandshake handshake, ControlConnection connection) -
getDecoder
- Specified by:
getDecoderin classBasicClient<BitControl.RpcType,ControlConnection, BitControl.BitControlHandshake, BitControl.BitControlHandshake>
-