Repository: hbase-site Updated Branches: refs/heads/asf-site 28d625a2a -> 33c287c2e
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/33c287c2/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html new file mode 100644 index 0000000..ebf2136 --- /dev/null +++ b/devapidocs/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html @@ -0,0 +1,1029 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>AsyncRpcChannelImpl (Apache HBase 2.0.0-SNAPSHOT API)</title> +<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> +</head> +<body> +<script type="text/javascript"><!-- + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="AsyncRpcChannelImpl (Apache HBase 2.0.0-SNAPSHOT API)"; + } +//--> +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar_top"> +<!-- --> +</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AsyncRpcChannelImpl.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/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.CallWriteListener.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html" target="_top">Frames</a></li> +<li><a href="AsyncRpcChannelImpl.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li><a href="#nested_class_summary">Nested</a> | </li> +<li><a href="#field_summary">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field_detail">Field</a> | </li> +<li><a href="#constructor_detail">Constr</a> | </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.hadoop.hbase.ipc</div> +<h2 title="Class AsyncRpcChannelImpl" class="title">Class AsyncRpcChannelImpl</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://docs.oracle.com/javase/7/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>org.apache.hadoop.hbase.ipc.AsyncRpcChannelImpl</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt>All Implemented Interfaces:</dt> +<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></dd> +</dl> +<hr> +<br> +<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a> +public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.83">AsyncRpcChannelImpl</a> +extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> +implements <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></pre> +<div class="block">Netty RPC channel</div> +</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> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> +<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Class and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private static class </code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.CallWriteListener.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcChannelImpl.CallWriteListener</a></strong></code> +<div class="block">Listens to call writes and fails if write failed</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- =========== FIELD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="field_summary"> +<!-- --> +</a> +<h3>Field Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> +<caption><span>Fields</span><span class="tabEnd"> </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>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#address">address</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#authMethod">authMethod</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private io.netty.channel.Channel</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#channel">channel</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private io.netty.util.Timeout</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#cleanupTimer">cleanupTimer</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#client">client</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#closed">closed</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#connected">connected</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#failureCounter">failureCounter</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#LOG">LOG</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private static int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#MAX_SASL_RETRIES">MAX_SASL_RETRIES</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#name">name</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#pendingCalls">pendingCalls</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#reloginMaxBackoff">reloginMaxBackoff</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#serverPrincipal">serverPrincipal</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#serviceName">serviceName</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#ticket">ticket</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private io.netty.util.TimerTask</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#timeoutTask">timeoutTask</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#token">token</a></strong></code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected static <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos.TokenIdentifier.Kind,org.apache.hadoop.security.token.TokenSelector<? extends org.apache.hadoop.security.token.TokenIdentifier>></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#TOKEN_HANDDLERS">TOKEN_HANDDLERS</a></strong></code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>(package private) boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#useSasl">useSasl</a></strong></code> </td> +</tr> +</table> +</li> +</ul> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_summary"> +<!-- --> +</a> +<h3>Constructor Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> +<caption><span>Constructors</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Constructor and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#AsyncRpcChannelImpl(io.netty.bootstrap.Bootstrap,%20org.apache.hadoop.hbase.ipc.AsyncRpcClient,%20org.apache.hadoop.hbase.security.User,%20java.lang.String,%20java.net.InetSocketAddress)">AsyncRpcChannelImpl</a></strong>(io.netty.bootstrap.Bootstrap bootstrap, + <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a> client, + <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> ticket, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> serviceName, + <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> address)</code> +<div class="block">Constructor for netty RPC channel</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span>Methods</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#buildUserInfo(org.apache.hadoop.security.UserGroupInformation,%20org.apache.hadoop.hbase.security.AuthMethod)">buildUserInfo</a></strong>(org.apache.hadoop.security.UserGroupInformation ugi, + <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> authMethod)</code> +<div class="block">Build the user information</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><R extends com.google.protobuf.Message,O> <br><a href="../../../../../org/apache/hadoop/hbase/client/Future.html" title="interface in org.apache.hadoop.hbase.client">Future</a><O></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#callMethod(com.google.protobuf.Descriptors.MethodDescriptor,%20com.google.protobuf.Message,%20org.apache.hadoop.hbase.CellScanner,%20R,%20org.apache.hadoop.hbase.ipc.MessageConverter,%20org.apache.hadoop.hbase.ipc.IOExceptionConverter,%20long,%20int,%20org.apache.hadoop.hbase.client.MetricsConnection.CallStats)">callMethod</a></strong>(com.google.protobuf.Descriptors.MethodDescriptor method, + com.google.protobuf.Message request, + <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cellScanner, + R responsePrototype, + <a href="../../../../../org/apache/hadoop/hbase/ipc/MessageConverter.html" title="interface in org.apache.hadoop.hbase.ipc">MessageConverter</a><R,O> messageConverter, + <a href="../../../../../org/apache/hadoop/hbase/ipc/IOExceptionConverter.html" title="interface in org.apache.hadoop.hbase.ipc">IOExceptionConverter</a> exceptionConverter, + long rpcTimeout, + int priority, + <a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.CallStats.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection.CallStats</a> callStats)</code> +<div class="block">Calls method on channel</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#cleanupCalls()">cleanupCalls</a></strong>()</code> +<div class="block">Clean up calls.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#close(java.lang.Throwable)">close</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</code> +<div class="block">Close connection</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#close0(java.lang.Throwable)">close0</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private io.netty.channel.ChannelFuture</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#connect(io.netty.bootstrap.Bootstrap)">connect</a></strong>(io.netty.bootstrap.Bootstrap bootstrap)</code> +<div class="block">Connect to channel</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#createPreamble(io.netty.buffer.ByteBuf,%20org.apache.hadoop.hbase.security.AuthMethod)">createPreamble</a></strong>(io.netty.buffer.ByteBuf byteBuf, + <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> authMethod)</code> +<div class="block">Create connection preamble</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#equals(java.lang.Object)">equals</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#getAddress()">getAddress</a></strong>()</code> +<div class="block">Get the address on which this channel operates</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#getConnectionHashCode()">getConnectionHashCode</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>io.netty.channel.EventLoop</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#getEventExecutor()">getEventExecutor</a></strong>()</code> +<div class="block">Get the EventLoop on which this channel operated</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html" title="class in org.apache.hadoop.hbase.security">SaslClientHandler</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#getSaslHandler(org.apache.hadoop.security.UserGroupInformation,%20io.netty.bootstrap.Bootstrap)">getSaslHandler</a></strong>(org.apache.hadoop.security.UserGroupInformation realTicket, + io.netty.bootstrap.Bootstrap bootstrap)</code> +<div class="block">Get SASL handler</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#handleSaslConnectionFailure(int,%20java.lang.Throwable,%20org.apache.hadoop.security.UserGroupInformation)">handleSaslConnectionFailure</a></strong>(int currRetries, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> ex, + org.apache.hadoop.security.UserGroupInformation user)</code> +<div class="block">If multiple clients with the same principal try to connect to the same server at the same time, + the server assumes a replay attack is in progress.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>int</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#hashCode()">hashCode</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#isAlive()">isAlive</a></strong>()</code> +<div class="block">Check if the connection is alive</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#removePendingCall(int)">removePendingCall</a></strong>(int id)</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#retryOrClose(io.netty.bootstrap.Bootstrap,%20int,%20long,%20java.lang.Throwable)">retryOrClose</a></strong>(io.netty.bootstrap.Bootstrap bootstrap, + int failureCount, + long timeout, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</code> +<div class="block">Retry to connect or close</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#setupAuthorization()">setupAuthorization</a></strong>()</code> +<div class="block">Set up server authorization</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private boolean</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#shouldAuthenticateOverKrb()">shouldAuthenticateOverKrb</a></strong>()</code> +<div class="block">Check if user should authenticate over Kerberos</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#startHBaseConnection(io.netty.channel.Channel)">startHBaseConnection</a></strong>(io.netty.channel.Channel ch)</code> +<div class="block">Start HBase connection</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#toString()">toString</a></strong>()</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>private io.netty.channel.ChannelFuture</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#writeChannelHeader(io.netty.channel.Channel)">writeChannelHeader</a></strong>(io.netty.channel.Channel channel)</code> +<div class="block">Write the channel header</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>private void</code></td> +<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#writeRequest(org.apache.hadoop.hbase.ipc.AsyncCall)">writeRequest</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a> call)</code> +<div class="block">Write request to channel</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> +<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-ex ternal=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="LOG"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>LOG</h4> +<pre>private static final org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.84">LOG</a></pre> +</li> +</ul> +<a name="MAX_SASL_RETRIES"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>MAX_SASL_RETRIES</h4> +<pre>private static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.86">MAX_SASL_RETRIES</a></pre> +<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.AsyncRpcChannelImpl.MAX_SASL_RETRIES">Constant Field Values</a></dd></dl> +</li> +</ul> +<a name="TOKEN_HANDDLERS"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>TOKEN_HANDDLERS</h4> +<pre>protected static final <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><org.apache.hadoop.hbase.protobuf.generated.AuthenticationProtos.TokenIdentifier.Kind,org.apache.hadoop.security.token.TokenSelector<? extends org.apache.hadoop.security.token.TokenIdentifier>> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.88">TOKEN_HANDDLERS</a></pre> +</li> +</ul> +<a name="client"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>client</h4> +<pre>final <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.96">client</a></pre> +</li> +</ul> +<a name="channel"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>channel</h4> +<pre>private io.netty.channel.Channel <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.100">channel</a></pre> +</li> +</ul> +<a name="name"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>name</h4> +<pre><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.102">name</a></pre> +</li> +</ul> +<a name="ticket"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>ticket</h4> +<pre>final <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.103">ticket</a></pre> +</li> +</ul> +<a name="serviceName"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>serviceName</h4> +<pre>final <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.104">serviceName</a></pre> +</li> +</ul> +<a name="address"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>address</h4> +<pre>final <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.105">address</a></pre> +</li> +</ul> +<a name="failureCounter"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>failureCounter</h4> +<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.107">failureCounter</a></pre> +</li> +</ul> +<a name="useSasl"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>useSasl</h4> +<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.109">useSasl</a></pre> +</li> +</ul> +<a name="authMethod"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>authMethod</h4> +<pre><a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.110">authMethod</a></pre> +</li> +</ul> +<a name="reloginMaxBackoff"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>reloginMaxBackoff</h4> +<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.111">reloginMaxBackoff</a></pre> +</li> +</ul> +<a name="token"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>token</h4> +<pre>private org.apache.hadoop.security.token.Token<? extends org.apache.hadoop.security.token.TokenIdentifier> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.112">token</a></pre> +</li> +</ul> +<a name="serverPrincipal"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>serverPrincipal</h4> +<pre>private <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.113">serverPrincipal</a></pre> +</li> +</ul> +<a name="pendingCalls"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>pendingCalls</h4> +<pre>private final <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a>> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.116">pendingCalls</a></pre> +</li> +</ul> +<a name="connected"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>connected</h4> +<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.117">connected</a></pre> +</li> +</ul> +<a name="closed"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>closed</h4> +<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.118">closed</a></pre> +</li> +</ul> +<a name="cleanupTimer"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>cleanupTimer</h4> +<pre>private io.netty.util.Timeout <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.120">cleanupTimer</a></pre> +</li> +</ul> +<a name="timeoutTask"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>timeoutTask</h4> +<pre>private final io.netty.util.TimerTask <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.122">timeoutTask</a></pre> +</li> +</ul> +</li> +</ul> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor_detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="AsyncRpcChannelImpl(io.netty.bootstrap.Bootstrap, org.apache.hadoop.hbase.ipc.AsyncRpcClient, org.apache.hadoop.hbase.security.User, java.lang.String, java.net.InetSocketAddress)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>AsyncRpcChannelImpl</h4> +<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.137">AsyncRpcChannelImpl</a>(io.netty.bootstrap.Bootstrap bootstrap, + <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcClient.html" title="class in org.apache.hadoop.hbase.ipc">AsyncRpcClient</a> client, + <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> ticket, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> serviceName, + <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> address)</pre> +<div class="block">Constructor for netty RPC channel</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to construct channel on</dd><dd><code>client</code> - to connect with</dd><dd><code>ticket</code> - of user which uses connection</dd><dd><code>serviceName</code> - name of service to connect to</dd><dd><code>address</code> - to connect to</dd></dl> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method_detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="connect(io.netty.bootstrap.Bootstrap)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>connect</h4> +<pre>private io.netty.channel.ChannelFuture <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.156">connect</a>(io.netty.bootstrap.Bootstrap bootstrap)</pre> +<div class="block">Connect to channel</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to connect to</dd> +<dt><span class="strong">Returns:</span></dt><dd>future of connection</dd></dl> +</li> +</ul> +<a name="startHBaseConnection(io.netty.channel.Channel)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>startHBaseConnection</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.209">startHBaseConnection</a>(io.netty.channel.Channel ch)</pre> +<div class="block">Start HBase connection</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ch</code> - channel to start connection on</dd></dl> +</li> +</ul> +<a name="getSaslHandler(org.apache.hadoop.security.UserGroupInformation, io.netty.bootstrap.Bootstrap)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getSaslHandler</h4> +<pre>private <a href="../../../../../org/apache/hadoop/hbase/security/SaslClientHandler.html" title="class in org.apache.hadoop.hbase.security">SaslClientHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.242">getSaslHandler</a>(org.apache.hadoop.security.UserGroupInformation realTicket, + io.netty.bootstrap.Bootstrap bootstrap) + throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<div class="block">Get SASL handler</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to reconnect to</dd> +<dt><span class="strong">Returns:</span></dt><dd>new SASL handler</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if handler failed to create</dd></dl> +</li> +</ul> +<a name="retryOrClose(io.netty.bootstrap.Bootstrap, int, long, java.lang.Throwable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>retryOrClose</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.275">retryOrClose</a>(io.netty.bootstrap.Bootstrap bootstrap, + int failureCount, + long timeout, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre> +<div class="block">Retry to connect or close</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bootstrap</code> - to connect with</dd><dd><code>failureCount</code> - failure count</dd><dd><code>e</code> - exception of fail</dd></dl> +</li> +</ul> +<a name="callMethod(com.google.protobuf.Descriptors.MethodDescriptor,com.google.protobuf.Message,org.apache.hadoop.hbase.CellScanner,com.google.protobuf.Message,org.apache.hadoop.hbase.ipc.MessageConverter,org.apache.hadoop.hbase.ipc.IOExceptionConverter,long,int,org.apache.hadoop.hbase.client.MetricsConnection.CallStats)"> +<!-- --> +</a><a name="callMethod(com.google.protobuf.Descriptors.MethodDescriptor, com.google.protobuf.Message, org.apache.hadoop.hbase.CellScanner, R, org.apache.hadoop.hbase.ipc.MessageConverter, org.apache.hadoop.hbase.ipc.IOExceptionConverter, long, int, org.apache.hadoop.hbase.client.MetricsConnection.CallStats)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>callMethod</h4> +<pre>public <R extends com.google.protobuf.Message,O> <a href="../../../../../org/apache/hadoop/hbase/client/Future.html" title="interface in org.apache.hadoop.hbase.client">Future</a><O> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.300">callMethod</a>(com.google.protobuf.Descriptors.MethodDescriptor method, + com.google.protobuf.Message request, + <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> cellScanner, + R responsePrototype, + <a href="../../../../../org/apache/hadoop/hbase/ipc/MessageConverter.html" title="interface in org.apache.hadoop.hbase.ipc">MessageConverter</a><R,O> messageConverter, + <a href="../../../../../org/apache/hadoop/hbase/ipc/IOExceptionConverter.html" title="interface in org.apache.hadoop.hbase.ipc">IOExceptionConverter</a> exceptionConverter, + long rpcTimeout, + int priority, + <a href="../../../../../org/apache/hadoop/hbase/client/MetricsConnection.CallStats.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection.CallStats</a> callStats)</pre> +<div class="block">Calls method on channel</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#callMethod(com.google.protobuf.Descriptors.MethodDescriptor,%20com.google.protobuf.Message,%20org.apache.hadoop.hbase.CellScanner,%20R,%20org.apache.hadoop.hbase.ipc.MessageConverter,%20org.apache.hadoop.hbase.ipc.IOExceptionConverter,%20long,%20int,%20org.apache.hadoop.hbase.client.MetricsConnection.CallStats)">callMethod</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>method</code> - to call</dd><dd><code>request</code> - to send</dd><dd><code>cellScanner</code> - with cells to send</dd><dd><code>responsePrototype</code> - to construct response with</dd><dd><code>rpcTimeout</code> - timeout for request</dd><dd><code>priority</code> - for request</dd><dd><code>messageConverter</code> - for the messages to expected result</dd><dd><code>exceptionConverter</code> - for converting exceptions</dd><dd><code>callStats</code> - collects stats of the call</dd> +<dt><span class="strong">Returns:</span></dt><dd>Promise for the response Message</dd></dl> +</li> +</ul> +<a name="getEventExecutor()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getEventExecutor</h4> +<pre>public io.netty.channel.EventLoop <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.327">getEventExecutor</a>()</pre> +<div class="block"><strong>Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#getEventExecutor()">AsyncRpcChannel</a></code></strong></div> +<div class="block">Get the EventLoop on which this channel operated</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#getEventExecutor()">getEventExecutor</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>EventLoop</dd></dl> +</li> +</ul> +<a name="removePendingCall(int)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>removePendingCall</h4> +<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.331">removePendingCall</a>(int id)</pre> +</li> +</ul> +<a name="writeChannelHeader(io.netty.channel.Channel)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>writeChannelHeader</h4> +<pre>private io.netty.channel.ChannelFuture <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.343">writeChannelHeader</a>(io.netty.channel.Channel channel) + throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<div class="block">Write the channel header</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>channel</code> - to write to</dd> +<dt><span class="strong">Returns:</span></dt><dd>future of write</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure to write</dd></dl> +</li> +</ul> +<a name="writeRequest(org.apache.hadoop.hbase.ipc.AsyncCall)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>writeRequest</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.376">writeRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncCall.html" title="class in org.apache.hadoop.hbase.ipc">AsyncCall</a> call)</pre> +<div class="block">Write request to channel</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>call</code> - to write</dd></dl> +</li> +</ul> +<a name="setupAuthorization()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>setupAuthorization</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.423">setupAuthorization</a>() + throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<div class="block">Set up server authorization</div> +<dl><dt><span class="strong">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if auth setup failed</dd></dl> +</li> +</ul> +<a name="buildUserInfo(org.apache.hadoop.security.UserGroupInformation, org.apache.hadoop.hbase.security.AuthMethod)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>buildUserInfo</h4> +<pre>private org.apache.hadoop.hbase.protobuf.generated.RPCProtos.UserInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.472">buildUserInfo</a>(org.apache.hadoop.security.UserGroupInformation ugi, + <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> authMethod)</pre> +<div class="block">Build the user information</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ugi</code> - User Group Information</dd><dd><code>authMethod</code> - Authorization method</dd> +<dt><span class="strong">Returns:</span></dt><dd>UserInformation protobuf</dd></dl> +</li> +</ul> +<a name="createPreamble(io.netty.buffer.ByteBuf, org.apache.hadoop.hbase.security.AuthMethod)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>createPreamble</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.496">createPreamble</a>(io.netty.buffer.ByteBuf byteBuf, + <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> authMethod)</pre> +<div class="block">Create connection preamble</div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>byteBuf</code> - to write to</dd><dd><code>authMethod</code> - to write</dd></dl> +</li> +</ul> +<a name="close0(java.lang.Throwable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>close0</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.502">close0</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre> +</li> +</ul> +<a name="close(java.lang.Throwable)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>close</h4> +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.543">close</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> e)</pre> +<div class="block">Close connection</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#close(java.lang.Throwable)">close</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>e</code> - exception on close</dd></dl> +</li> +</ul> +<a name="cleanupCalls()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>cleanupCalls</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.562">cleanupCalls</a>()</pre> +<div class="block">Clean up calls.</div> +</li> +</ul> +<a name="isAlive()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>isAlive</h4> +<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.597">isAlive</a>()</pre> +<div class="block">Check if the connection is alive</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#isAlive()">isAlive</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>true if alive</dd></dl> +</li> +</ul> +<a name="getAddress()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getAddress</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.602">getAddress</a>()</pre> +<div class="block"><strong>Description copied from interface: <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#getAddress()">AsyncRpcChannel</a></code></strong></div> +<div class="block">Get the address on which this channel operates</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html#getAddress()">getAddress</a></code> in interface <code><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc">AsyncRpcChannel</a></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>InetSocketAddress</dd></dl> +</li> +</ul> +<a name="shouldAuthenticateOverKrb()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>shouldAuthenticateOverKrb</h4> +<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.611">shouldAuthenticateOverKrb</a>() + throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<div class="block">Check if user should authenticate over Kerberos</div> +<dl><dt><span class="strong">Returns:</span></dt><dd>true if should be authenticated over Kerberos</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - on failure of check</dd></dl> +</li> +</ul> +<a name="handleSaslConnectionFailure(int, java.lang.Throwable, org.apache.hadoop.security.UserGroupInformation)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>handleSaslConnectionFailure</h4> +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.642">handleSaslConnectionFailure</a>(int currRetries, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a> ex, + org.apache.hadoop.security.UserGroupInformation user) + throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, + <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre> +<div class="block">If multiple clients with the same principal try to connect to the same server at the same time, + the server assumes a replay attack is in progress. This is a feature of kerberos. In order to + work around this, what is done is that the client backs off randomly and tries to initiate the + connection again. The other problem is to do with ticket expiry. To handle that, a relogin is + attempted. + <p> + The retry logic is governed by the <a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#shouldAuthenticateOverKrb()"><code>shouldAuthenticateOverKrb()</code></a> method. In case when the + user doesn't have valid credentials, we don't need to retry (from cache or ticket). In such + cases, it is prudent to throw a runtime exception when we receive a SaslException from the + underlying authentication implementation, so there is no retry from other high level (for eg, + HCM or HBaseAdmin). + </p></div> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>currRetries</code> - retry count</dd><dd><code>ex</code> - exception describing fail</dd><dd><code>user</code> - which is trying to connect</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IO fail</dd> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code> - if thread is interrupted</dd></dl> +</li> +</ul> +<a name="getConnectionHashCode()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getConnectionHashCode</h4> +<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.682">getConnectionHashCode</a>()</pre> +</li> +</ul> +<a name="hashCode()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>hashCode</h4> +<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.687">hashCode</a>()</pre> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a></code> in class <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> +</dl> +</li> +</ul> +<a name="equals(java.lang.Object)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>equals</h4> +<pre>public boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.692">equals</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> obj)</pre> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a></code> in class <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> +</dl> +</li> +</ul> +<a name="toString()"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>toString</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html#line.701">toString</a>()</pre> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code> in class <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> +</dl> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</div> +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar_bottom"> +<!-- --> +</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AsyncRpcChannelImpl.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/hadoop/hbase/ipc/AsyncRpcChannel.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.CallWriteListener.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/AsyncRpcChannelImpl.html" target="_top">Frames</a></li> +<li><a href="AsyncRpcChannelImpl.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All 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: </li> +<li><a href="#nested_class_summary">Nested</a> | </li> +<li><a href="#field_summary">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li><a href="#field_detail">Field</a> | </li> +<li><a href="#constructor_detail">Constr</a> | </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 © 2007–2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html>