blob: f3f2eb093e62cc9424ac7a8ad4037bcc26f136e7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BasicClient (Drill : 1.20.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="BasicClient (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":6,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BasicClient.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/exec/rpc/BaseRpcOutcomeListener.html" title="class in org.apache.drill.exec.rpc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/rpc/BasicServer.html" title="class in org.apache.drill.exec.rpc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/rpc/BasicClient.html" target="_top">Frames</a></li>
<li><a href="BasicClient.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.exec.rpc.RpcBus">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.drill.exec.rpc</div>
<h2 title="Class BasicClient" class="title">Class BasicClient&lt;T extends com.google.protobuf.Internal.EnumLite,CC extends <a href="../../../../../org/apache/drill/exec/rpc/ClientConnection.html" title="interface in org.apache.drill.exec.rpc">ClientConnection</a>,HS extends com.google.protobuf.MessageLite,HR extends com.google.protobuf.MessageLite&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">org.apache.drill.exec.rpc.RpcBus</a>&lt;T,CC&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.rpc.BasicClient&lt;T,CC,HS,HR&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - handshake rpc type</dd>
<dd><code>CC</code> - Client connection type</dd>
<dd><code>HS</code> - Handshake send type</dd>
<dd><code>HR</code> - Handshake receive type</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/drill/exec/rpc/control/ControlClient.html" title="class in org.apache.drill.exec.rpc.control">ControlClient</a>, <a href="../../../../../org/apache/drill/exec/rpc/data/DataClient.html" title="class in org.apache.drill.exec.rpc.data">DataClient</a>, <a href="../../../../../org/apache/drill/exec/rpc/user/UserClient.html" title="class in org.apache.drill.exec.rpc.user">UserClient</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">BasicClient&lt;T extends com.google.protobuf.Internal.EnumLite,CC extends <a href="../../../../../org/apache/drill/exec/rpc/ClientConnection.html" title="interface in org.apache.drill.exec.rpc">ClientConnection</a>,HS extends com.google.protobuf.MessageLite,HR extends com.google.protobuf.MessageLite&gt;</span>
extends <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">RpcBus</a>&lt;T,CC&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.drill.exec.rpc.RpcBus">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.drill.exec.rpc.<a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">RpcBus</a></h3>
<code><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.ChannelClosedHandler.html" title="class in org.apache.drill.exec.rpc">RpcBus.ChannelClosedHandler</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.InboundHandler.html" title="class in org.apache.drill.exec.rpc">RpcBus.InboundHandler</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#connection">connection</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.drill.exec.rpc.RpcBus">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.drill.exec.rpc.<a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">RpcBus</a></h3>
<code><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#local">local</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#remote">remote</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#rpcConfig">rpcConfig</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#BasicClient-org.apache.drill.exec.rpc.RpcConfig-io.netty.buffer.ByteBufAllocator-io.netty.channel.EventLoopGroup-T-java.lang.Class-com.google.protobuf.Parser-">BasicClient</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcConfig.html" title="class in org.apache.drill.exec.rpc">RpcConfig</a>&nbsp;rpcMapping,
io.netty.buffer.ByteBufAllocator&nbsp;alloc,
io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;handshakeType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&gt;&nbsp;responseClass,
com.google.protobuf.Parser&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&gt;&nbsp;handshakeParser)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#close--">close</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#connectAsClient-org.apache.drill.exec.rpc.RpcConnectionHandler-HS-java.lang.String-int-">connectAsClient</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionListener,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HS</a>&nbsp;handshakeValue,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#finalizeConnection-HR-CC-">finalizeConnection</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&nbsp;handshake,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&nbsp;connection)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../../org/apache/drill/exec/rpc/ProtobufLengthDecoder.html" title="class in org.apache.drill.exec.rpc">ProtobufLengthDecoder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#getDecoder-org.apache.drill.exec.memory.BufferAllocator-">getDecoder</a></span>(<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#hasPing-long-">hasPing</a></span>(long&nbsp;timeoutSec)</code>
<div class="block">Sends request and waits for answer to verify connection.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#initRemoteConnection-io.netty.channel.socket.SocketChannel-">initRemoteConnection</a></span>(io.netty.channel.socket.SocketChannel&nbsp;channel)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#isActive--">isActive</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#isAuthComplete--">isAuthComplete</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#isSslEnabled--">isSslEnabled</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#prepareSaslHandshake-org.apache.drill.exec.rpc.RpcConnectionHandler-java.util.List-">prepareSaslHandshake</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionHandler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;serverAuthMechanisms)</code>
<div class="block">Creates various instances needed to start the SASL handshake.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#send-org.apache.drill.exec.rpc.RpcOutcomeListener-SEND-boolean-io.netty.buffer.ByteBuf...-">send</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcOutcomeListener.html" title="interface in org.apache.drill.exec.rpc">RpcOutcomeListener</a>&lt;RECEIVE&gt;&nbsp;listener,
SEND&nbsp;protobufBody,
boolean&nbsp;allowInEventLoop,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#send-org.apache.drill.exec.rpc.RpcOutcomeListener-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">send</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcOutcomeListener.html" title="interface in org.apache.drill.exec.rpc">RpcOutcomeListener</a>&lt;RECEIVE&gt;&nbsp;listener,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType,
SEND&nbsp;protobufBody,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;RECEIVE&gt;&nbsp;clazz,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;<br><a href="../../../../../org/apache/drill/exec/rpc/DrillRpcFuture.html" title="interface in org.apache.drill.exec.rpc">DrillRpcFuture</a>&lt;RECEIVE&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#send-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">send</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType,
SEND&nbsp;protobufBody,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;RECEIVE&gt;&nbsp;clazz,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#setAuthComplete-boolean-">setAuthComplete</a></span>(boolean&nbsp;authComplete)</code>
<div class="block">Set's the state for authentication complete.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#setAutoRead-boolean-">setAutoRead</a></span>(boolean&nbsp;enableAutoRead)</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#setSslChannel-io.netty.channel.Channel-">setSslChannel</a></span>(io.netty.channel.Channel&nbsp;c)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#setupSSL-io.netty.channel.ChannelPipeline-org.apache.drill.exec.rpc.ConnectionMultiListener.SSLHandshakeListener-">setupSSL</a></span>(io.netty.channel.ChannelPipeline&nbsp;pipe,
<a href="../../../../../org/apache/drill/exec/rpc/ConnectionMultiListener.SSLHandshakeListener.html" title="class in org.apache.drill.exec.rpc">ConnectionMultiListener.SSLHandshakeListener</a>&nbsp;sslHandshakeListener)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#startSaslHandshake-org.apache.drill.exec.rpc.RpcConnectionHandler-java.util.Map-org.apache.hadoop.security.UserGroupInformation-org.apache.drill.exec.rpc.security.AuthenticatorFactory-T-">startSaslHandshake</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionHandler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;saslProperties,
org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
<a href="../../../../../org/apache/drill/exec/rpc/security/AuthenticatorFactory.html" title="interface in org.apache.drill.exec.rpc.security">AuthenticatorFactory</a>&nbsp;authFactory,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType)</code>
<div class="block">Main method which starts the SASL handshake for all client channels (user/data/control) once it's determined
after regular RPC handshake that authentication is required by server side.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>protected abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#validateHandshake-HR-">validateHandshake</a></span>(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&nbsp;validateHandshake)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.drill.exec.rpc.RpcBus">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.drill.exec.rpc.<a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">RpcBus</a></h3>
<code><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#get-io.netty.buffer.ByteBuf-com.google.protobuf.Parser-">get</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#getCloseHandler-io.netty.channel.socket.SocketChannel-C-">getCloseHandler</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#getResponseDefaultInstance-int-">getResponseDefaultInstance</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#handle-C-int-io.netty.buffer.ByteBuf-io.netty.buffer.ByteBuf-org.apache.drill.exec.rpc.ResponseSender-">handle</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#send-C-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">send</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#send-org.apache.drill.exec.rpc.RpcOutcomeListener-C-T-SEND-java.lang.Class-boolean-io.netty.buffer.ByteBuf...-">send</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#send-org.apache.drill.exec.rpc.RpcOutcomeListener-C-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">send</a>, <a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#setAddresses-java.net.SocketAddress-java.net.SocketAddress-">setAddresses</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="connection">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>connection</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a> extends <a href="../../../../../org/apache/drill/exec/rpc/ClientConnection.html" title="interface in org.apache.drill.exec.rpc">ClientConnection</a> connection</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="BasicClient-org.apache.drill.exec.rpc.RpcConfig-io.netty.buffer.ByteBufAllocator-io.netty.channel.EventLoopGroup-com.google.protobuf.Internal.EnumLite-java.lang.Class-com.google.protobuf.Parser-">
<!-- -->
</a><a name="BasicClient-org.apache.drill.exec.rpc.RpcConfig-io.netty.buffer.ByteBufAllocator-io.netty.channel.EventLoopGroup-T-java.lang.Class-com.google.protobuf.Parser-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BasicClient</h4>
<pre>public&nbsp;BasicClient(<a href="../../../../../org/apache/drill/exec/rpc/RpcConfig.html" title="class in org.apache.drill.exec.rpc">RpcConfig</a>&nbsp;rpcMapping,
io.netty.buffer.ByteBufAllocator&nbsp;alloc,
io.netty.channel.EventLoopGroup&nbsp;eventLoopGroup,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;handshakeType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&gt;&nbsp;responseClass,
com.google.protobuf.Parser&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&gt;&nbsp;handshakeParser)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setupSSL-io.netty.channel.ChannelPipeline-org.apache.drill.exec.rpc.ConnectionMultiListener.SSLHandshakeListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setupSSL</h4>
<pre>protected&nbsp;void&nbsp;setupSSL(io.netty.channel.ChannelPipeline&nbsp;pipe,
<a href="../../../../../org/apache/drill/exec/rpc/ConnectionMultiListener.SSLHandshakeListener.html" title="class in org.apache.drill.exec.rpc">ConnectionMultiListener.SSLHandshakeListener</a>&nbsp;sslHandshakeListener)</pre>
</li>
</ul>
<a name="isSslEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSslEnabled</h4>
<pre>protected&nbsp;boolean&nbsp;isSslEnabled()</pre>
</li>
</ul>
<a name="setAuthComplete-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthComplete</h4>
<pre>protected&nbsp;void&nbsp;setAuthComplete(boolean&nbsp;authComplete)</pre>
<div class="block">Set's the state for authentication complete.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authComplete</code> - - state to set. True means authentication between client and server is completed, false
means authentication is in progress.</dd>
</dl>
</li>
</ul>
<a name="isAuthComplete--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAuthComplete</h4>
<pre>protected&nbsp;boolean&nbsp;isAuthComplete()</pre>
</li>
</ul>
<a name="setSslChannel-io.netty.channel.Channel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSslChannel</h4>
<pre>public&nbsp;void&nbsp;setSslChannel(io.netty.channel.Channel&nbsp;c)</pre>
</li>
</ul>
<a name="initRemoteConnection-io.netty.channel.socket.SocketChannel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initRemoteConnection</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&nbsp;initRemoteConnection(io.netty.channel.socket.SocketChannel&nbsp;channel)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html#initRemoteConnection-io.netty.channel.socket.SocketChannel-">initRemoteConnection</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/drill/exec/rpc/RpcBus.html" title="class in org.apache.drill.exec.rpc">RpcBus</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a> extends com.google.protobuf.Internal.EnumLite,<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a> extends <a href="../../../../../org/apache/drill/exec/rpc/ClientConnection.html" title="interface in org.apache.drill.exec.rpc">ClientConnection</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="hasPing-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasPing</h4>
<pre>public&nbsp;boolean&nbsp;hasPing(long&nbsp;timeoutSec)</pre>
<div class="block">Sends request and waits for answer to verify connection.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeoutSec</code> - time in seconds to wait message receiving. If 0 then won't wait.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if answer received until timeout, false otherwise</dd>
</dl>
</li>
</ul>
<a name="getDecoder-org.apache.drill.exec.memory.BufferAllocator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDecoder</h4>
<pre>public abstract&nbsp;<a href="../../../../../org/apache/drill/exec/rpc/ProtobufLengthDecoder.html" title="class in org.apache.drill.exec.rpc">ProtobufLengthDecoder</a>&nbsp;getDecoder(<a href="../../../../../org/apache/drill/exec/memory/BufferAllocator.html" title="interface in org.apache.drill.exec.memory">BufferAllocator</a>&nbsp;allocator)</pre>
</li>
</ul>
<a name="isActive--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isActive</h4>
<pre>public&nbsp;boolean&nbsp;isActive()</pre>
</li>
</ul>
<a name="validateHandshake-com.google.protobuf.MessageLite-">
<!-- -->
</a><a name="validateHandshake-HR-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>validateHandshake</h4>
<pre>protected abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;validateHandshake(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&nbsp;validateHandshake)
throws <a href="../../../../../org/apache/drill/exec/rpc/RpcException.html" title="class in org.apache.drill.exec.rpc">RpcException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/rpc/RpcException.html" title="class in org.apache.drill.exec.rpc">RpcException</a></code></dd>
</dl>
</li>
</ul>
<a name="prepareSaslHandshake-org.apache.drill.exec.rpc.RpcConnectionHandler-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareSaslHandshake</h4>
<pre>protected abstract&nbsp;void&nbsp;prepareSaslHandshake(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionHandler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;serverAuthMechanisms)
throws <a href="../../../../../org/apache/drill/exec/rpc/RpcException.html" title="class in org.apache.drill.exec.rpc">RpcException</a></pre>
<div class="block">Creates various instances needed to start the SASL handshake. This is called from
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html#validateHandshake-HR-"><code>validateHandshake(MessageLite)</code></a> if authentication is required from server side.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connectionHandler</code> - - Connection handler used by client's to know about success/failure conditions.</dd>
<dd><code>serverAuthMechanisms</code> - - List of auth mechanisms configured on server side</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/drill/exec/rpc/RpcException.html" title="class in org.apache.drill.exec.rpc">RpcException</a></code></dd>
</dl>
</li>
</ul>
<a name="startSaslHandshake-org.apache.drill.exec.rpc.RpcConnectionHandler-java.util.Map-org.apache.hadoop.security.UserGroupInformation-org.apache.drill.exec.rpc.security.AuthenticatorFactory-com.google.protobuf.Internal.EnumLite-">
<!-- -->
</a><a name="startSaslHandshake-org.apache.drill.exec.rpc.RpcConnectionHandler-java.util.Map-org.apache.hadoop.security.UserGroupInformation-org.apache.drill.exec.rpc.security.AuthenticatorFactory-T-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startSaslHandshake</h4>
<pre>protected&nbsp;void&nbsp;startSaslHandshake(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionHandler,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;saslProperties,
org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
<a href="../../../../../org/apache/drill/exec/rpc/security/AuthenticatorFactory.html" title="interface in org.apache.drill.exec.rpc.security">AuthenticatorFactory</a>&nbsp;authFactory,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType)</pre>
<div class="block">Main method which starts the SASL handshake for all client channels (user/data/control) once it's determined
after regular RPC handshake that authentication is required by server side. Once authentication is completed
then only the underlying channel is made available to clients to send other RPC messages. Success and failure
events are notified to the connection handler on which client waits.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connectionHandler</code> - - Connection handler used by client's to know about success/failure conditions.</dd>
<dd><code>saslProperties</code> - - SASL related properties needed to create SASL client.</dd>
<dd><code>ugi</code> - - UserGroupInformation with logged in client side user</dd>
<dd><code>authFactory</code> - - Authentication factory to use for this SASL handshake.</dd>
<dd><code>rpcType</code> - - SASL_MESSAGE rpc type.</dd>
</dl>
</li>
</ul>
<a name="finalizeConnection-com.google.protobuf.MessageLite-org.apache.drill.exec.rpc.ClientConnection-">
<!-- -->
</a><a name="finalizeConnection-HR-CC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finalizeConnection</h4>
<pre>protected&nbsp;void&nbsp;finalizeConnection(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HR</a>&nbsp;handshake,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&nbsp;connection)</pre>
</li>
</ul>
<a name="send-org.apache.drill.exec.rpc.RpcOutcomeListener-com.google.protobuf.Internal.EnumLite-com.google.protobuf.MessageLite-java.lang.Class-io.netty.buffer.ByteBuf:A-">
<!-- -->
</a><a name="send-org.apache.drill.exec.rpc.RpcOutcomeListener-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre>public&nbsp;&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;&nbsp;void&nbsp;send(<a href="../../../../../org/apache/drill/exec/rpc/RpcOutcomeListener.html" title="interface in org.apache.drill.exec.rpc">RpcOutcomeListener</a>&lt;RECEIVE&gt;&nbsp;listener,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType,
SEND&nbsp;protobufBody,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;RECEIVE&gt;&nbsp;clazz,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</pre>
</li>
</ul>
<a name="send-com.google.protobuf.Internal.EnumLite-com.google.protobuf.MessageLite-java.lang.Class-io.netty.buffer.ByteBuf:A-">
<!-- -->
</a><a name="send-T-SEND-java.lang.Class-io.netty.buffer.ByteBuf...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre>public&nbsp;&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;&nbsp;<a href="../../../../../org/apache/drill/exec/rpc/DrillRpcFuture.html" title="interface in org.apache.drill.exec.rpc">DrillRpcFuture</a>&lt;RECEIVE&gt;&nbsp;send(<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">T</a>&nbsp;rpcType,
SEND&nbsp;protobufBody,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;RECEIVE&gt;&nbsp;clazz,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</pre>
</li>
</ul>
<a name="send-org.apache.drill.exec.rpc.RpcOutcomeListener-com.google.protobuf.MessageLite-boolean-io.netty.buffer.ByteBuf:A-">
<!-- -->
</a><a name="send-org.apache.drill.exec.rpc.RpcOutcomeListener-SEND-boolean-io.netty.buffer.ByteBuf...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>send</h4>
<pre>public&nbsp;&lt;SEND extends com.google.protobuf.MessageLite,RECEIVE extends com.google.protobuf.MessageLite&gt;&nbsp;void&nbsp;send(<a href="../../../../../org/apache/drill/exec/rpc/RpcOutcomeListener.html" title="interface in org.apache.drill.exec.rpc">RpcOutcomeListener</a>&lt;RECEIVE&gt;&nbsp;listener,
SEND&nbsp;protobufBody,
boolean&nbsp;allowInEventLoop,
io.netty.buffer.ByteBuf...&nbsp;dataBodies)</pre>
</li>
</ul>
<a name="connectAsClient-org.apache.drill.exec.rpc.RpcConnectionHandler-com.google.protobuf.MessageLite-java.lang.String-int-">
<!-- -->
</a><a name="connectAsClient-org.apache.drill.exec.rpc.RpcConnectionHandler-HS-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectAsClient</h4>
<pre>protected&nbsp;void&nbsp;connectAsClient(<a href="../../../../../org/apache/drill/exec/rpc/RpcConnectionHandler.html" title="interface in org.apache.drill.exec.rpc">RpcConnectionHandler</a>&lt;<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">CC</a>&gt;&nbsp;connectionListener,
<a href="../../../../../org/apache/drill/exec/rpc/BasicClient.html" title="type parameter in BasicClient">HS</a>&nbsp;handshakeValue,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</pre>
</li>
</ul>
<a name="setAutoRead-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAutoRead</h4>
<pre>public&nbsp;void&nbsp;setAutoRead(boolean&nbsp;enableAutoRead)</pre>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;void&nbsp;close()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BasicClient.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/drill/exec/rpc/BaseRpcOutcomeListener.html" title="class in org.apache.drill.exec.rpc"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/rpc/BasicServer.html" title="class in org.apache.drill.exec.rpc"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/rpc/BasicClient.html" target="_top">Frames</a></li>
<li><a href="BasicClient.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.drill.exec.rpc.RpcBus">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>