blob: 3cbc2929916303b9179950743ee5b713d0b9ac5a [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SimpleRpcServer (Apache HBase 4.0.0-alpha-1-SNAPSHOT API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.hadoop.hbase.ipc, class: SimpleRpcServer">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/SimpleRpcServer.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.hadoop.hbase.ipc</a></div>
<h1 title="Class SimpleRpcServer" class="title">Class SimpleRpcServer</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">org.apache.hadoop.hbase.ipc.RpcServer</a>
<div class="inheritance">org.apache.hadoop.hbase.ipc.SimpleRpcServer</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></code>, <code><a href="RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
@LimitedPrivate("Configuration")
</span><span class="modifiers">public class </span><span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-72">SimpleRpcServer</a></span>
<span class="extends-implements">extends <a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">The RPC server with native java NIO implementation deriving from Hadoop to host protobuf
described Services. It's the original one before HBASE-17262, and the default RPC server for now.
An RpcServer instance has a Listener that hosts the socket. Listener has fixed number of Readers
in an ExecutorPool, 10 by default. The Listener does an accept and then round robin a Reader is
chosen to do the read. The reader is registered on Selector. Read does total read off the channel
and the parse from which it makes a Call. The call is wrapped in a CallRunner and passed to the
scheduler to be run. Reader goes back to see if more to be done and loops till done.
<p>
Scheduler can be variously implemented but default simple scheduler has handlers to which it has
given the queues into which calls (i.e. CallRunner instances) are inserted. Handlers run taking
from the queue. They run the CallRunner#run method on each item gotten from queue and keep taking
while the server is up. CallRunner#run executes the call. When done, asks the included Call to
put itself on new queue for Responder to pull from and return result to client.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="BlockingRpcClient.html" title="class in org.apache.hadoop.hbase.ipc"><code>BlockingRpcClient</code></a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private class&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="SimpleRpcServer.ConnectionManager.html" class="type-name-link" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.ConnectionManager</a></code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color"><code>private class&nbsp;</code></div>
<div class="col-second odd-row-color"><code><a href="SimpleRpcServer.Listener.html" class="type-name-link" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.Listener</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Listens on the socket.</div>
</div>
</div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.hadoop.hbase.ipc.RpcServer">Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></h2>
<code><a href="RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>, <a href="RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></code></div>
<div class="col-second even-row-color"><code><a href="#address" class="member-name-link">address</a></code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color"><code>private <a href="SimpleRpcServer.ConnectionManager.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.ConnectionManager</a></code></div>
<div class="col-second odd-row-color"><code><a href="#connectionManager" class="member-name-link">connectionManager</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first even-row-color"><code>private <a href="SimpleRpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.Listener</a></code></div>
<div class="col-second even-row-color"><code><a href="#listener" class="member-name-link">listener</a></code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color"><code>protected int</code></div>
<div class="col-second odd-row-color"><code><a href="#port" class="member-name-link">port</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first even-row-color"><code>protected final long</code></div>
<div class="col-second even-row-color"><code><a href="#purgeTimeout" class="member-name-link">purgeTimeout</a></code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color"><code>private int</code></div>
<div class="col-second odd-row-color"><code><a href="#readThreads" class="member-name-link">readThreads</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first even-row-color"><code>protected <a href="SimpleRpcServerResponder.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServerResponder</a></code></div>
<div class="col-second even-row-color"><code><a href="#responder" class="member-name-link">responder</a></code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color"><code>protected int</code></div>
<div class="col-second odd-row-color"><code><a href="#socketSendBufferSize" class="member-name-link">socketSendBufferSize</a></code></div>
<div class="col-last odd-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.hadoop.hbase.ipc.RpcServer">Fields inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></h3>
<code><a href="RpcServer.html#allowFallbackToSimpleAuth">allowFallbackToSimpleAuth</a>, <a href="RpcServer.html#AUDITLOG">AUDITLOG</a>, <a href="RpcServer.html#AUTH_FAILED_FOR">AUTH_FAILED_FOR</a>, <a href="RpcServer.html#AUTH_SUCCESSFUL_FOR">AUTH_SUCCESSFUL_FOR</a>, <a href="RpcServer.html#authManager">authManager</a>, <a href="RpcServer.html#authTokenSecretMgr">authTokenSecretMgr</a>, <a href="RpcServer.html#bbAllocator">bbAllocator</a>, <a href="RpcServer.html#bindAddress">bindAddress</a>, <a href="RpcServer.html#CALL_QUEUE_TOO_BIG_EXCEPTION">CALL_QUEUE_TOO_BIG_EXCEPTION</a>, <a href="RpcServer.html#callQueueSizeInBytes">callQueueSizeInBytes</a>, <a href="RpcServer.html#cellBlockBuilder">cellBlockBuilder</a>, <a href="RpcServer.html#conf">conf</a>, <a href="RpcServer.html#CurCall">CurCall</a>, <a href="RpcServer.html#CURRENT_VERSION">CURRENT_VERSION</a>, <a href="RpcServer.html#DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a>, <a href="RpcServer.html#DEFAULT_MAX_CALLQUEUE_SIZE">DEFAULT_MAX_CALLQUEUE_SIZE</a>, <a href="RpcServer.html#DEFAULT_MAX_REQUEST_SIZE">DEFAULT_MAX_REQUEST_SIZE</a>, <a href="RpcServer.html#DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="RpcServer.html#DEFAULT_TRACE_LOG_MAX_LENGTH">DEFAULT_TRACE_LOG_MAX_LENGTH</a>, <a href="RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a>, <a href="RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a>, <a href="RpcServer.html#errorHandler">errorHandler</a>, <a href="RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a>, <a href="RpcServer.html#GSON">GSON</a>, <a href="RpcServer.html#isSecurityEnabled">isSecurityEnabled</a>, <a href="RpcServer.html#KEY_WORD_TRUNCATED">KEY_WORD_TRUNCATED</a>, <a href="RpcServer.html#LOG">LOG</a>, <a href="RpcServer.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a>, <a href="RpcServer.html#maxQueueSizeInBytes">maxQueueSizeInBytes</a>, <a href="RpcServer.html#maxRequestSize">maxRequestSize</a>, <a href="RpcServer.html#metrics">metrics</a>, <a href="RpcServer.html#MIN_CLIENT_REQUEST_TIMEOUT">MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="RpcServer.html#minClientRequestTimeout">minClientRequestTimeout</a>, <a href="RpcServer.html#MONITORED_RPC">MONITORED_RPC</a>, <a href="RpcServer.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a>, <a href="RpcServer.html#running">running</a>, <a href="RpcServer.html#saslProps">saslProps</a>, <a href="RpcServer.html#scheduler">scheduler</a>, <a href="RpcServer.html#secretManager">secretManager</a>, <a href="RpcServer.html#server">server</a>, <a href="RpcServer.html#serverPrincipal">serverPrincipal</a>, <a href="RpcServer.html#services">services</a>, <a href="RpcServer.html#started">started</a>, <a href="RpcServer.html#tcpKeepAlive">tcpKeepAlive</a>, <a href="RpcServer.html#tcpNoDelay">tcpNoDelay</a>, <a href="RpcServer.html#TRACE_LOG_MAX_LENGTH">TRACE_LOG_MAX_LENGTH</a>, <a href="RpcServer.html#userProvider">userProvider</a>, <a href="RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a>, <a href="RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a>, <a href="RpcServer.html#WARN_SCAN_RESPONSE_SIZE">WARN_SCAN_RESPONSE_SIZE</a>, <a href="RpcServer.html#WARN_SCAN_RESPONSE_TIME">WARN_SCAN_RESPONSE_TIME</a>, <a href="RpcServer.html#warnResponseSize">warnResponseSize</a>, <a href="RpcServer.html#warnResponseTime">warnResponseTime</a>, <a href="RpcServer.html#warnScanResponseSize">warnScanResponseSize</a>, <a href="RpcServer.html#warnScanResponseTime">warnScanResponseTime</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.hadoop.hbase.Server,java.lang.String,java.util.List,java.net.InetSocketAddress,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.ipc.RpcScheduler,boolean)" class="member-name-link">SimpleRpcServer</a><wbr>(<a href="../Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>&nbsp;bindAddress,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a>&nbsp;scheduler,
boolean&nbsp;reservoirEnabled)</code></div>
<div class="col-last even-row-color">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Constructs a server listening on the named port and address.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#bind(java.net.ServerSocket,java.net.InetSocketAddress,int)" class="member-name-link">bind</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a>&nbsp;socket,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>&nbsp;address,
int&nbsp;backlog)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">A convenience method to bind to a given address and report better exceptions if the address is
not a valid host.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>protected long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#channelWrite(java.nio.channels.GatheringByteChannel,org.apache.hadoop.hbase.ipc.BufferChain)" class="member-name-link">channelWrite</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/channels/GatheringByteChannel.html" title="class or interface in java.nio.channels" class="external-link">GatheringByteChannel</a>&nbsp;channel,
<a href="BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;bufferChain)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#closeConnection(org.apache.hadoop.hbase.ipc.SimpleServerRpcConnection)" class="member-name-link">closeConnection</a><wbr>(<a href="SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a>&nbsp;connection)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>protected <a href="SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getConnection(java.nio.channels.SocketChannel,long)" class="member-name-link">getConnection</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/channels/SocketChannel.html" title="class or interface in java.nio.channels" class="external-link">SocketChannel</a>&nbsp;channel,
long&nbsp;time)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Subclasses of HBaseServer can override this to provide their own Connection implementations.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getListenerAddress()" class="member-name-link">getListenerAddress</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Return the socket (ip+port) on which the RPC server is listening to.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#getNumOpenConnections()" class="member-name-link">getNumOpenConnections</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">The number of open RPC conections</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#join()" class="member-name-link">join</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Wait for the server to be stopped.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#setSocketSendBufSize(int)" class="member-name-link">setSocketSendBufSize</a><wbr>(int&nbsp;size)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Sets the socket buffer size used for responding to RPCs.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#start()" class="member-name-link">start</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Starts the service.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#stop()" class="member-name-link">stop</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Stops the service.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.hadoop.hbase.ipc.RpcServer">Methods inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></h3>
<code><a href="RpcServer.html#addCallSize(long)">addCallSize</a>, <a href="RpcServer.html#authorize(org.apache.hadoop.security.UserGroupInformation,org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader,java.net.InetAddress)">authorize</a>, <a href="RpcServer.html#call(org.apache.hadoop.hbase.ipc.RpcCall,org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler)">call</a>, <a href="RpcServer.html#channelRead(java.nio.channels.ReadableByteChannel,java.nio.ByteBuffer)">channelRead</a>, <a href="RpcServer.html#createSecretManager()">createSecretManager</a>, <a href="RpcServer.html#getByteBuffAllocator()">getByteBuffAllocator</a>, <a href="RpcServer.html#getConf()">getConf</a>, <a href="RpcServer.html#getCurrentCall()">getCurrentCall</a>, <a href="RpcServer.html#getCurrentServerCallWithCellScanner()">getCurrentServerCallWithCellScanner</a>, <a href="RpcServer.html#getErrorHandler()">getErrorHandler</a>, <a href="RpcServer.html#getMetrics()">getMetrics</a>, <a href="RpcServer.html#getRemoteAddress()">getRemoteAddress</a>, <a href="RpcServer.html#getRemoteIp()">getRemoteIp</a>, <a href="RpcServer.html#getRequestUser()">getRequestUser</a>, <a href="RpcServer.html#getRequestUserName()">getRequestUserName</a>, <a href="RpcServer.html#getScheduler()">getScheduler</a>, <a href="RpcServer.html#getSecretManager()">getSecretManager</a>, <a href="RpcServer.html#getService(java.util.List,java.lang.String)">getService</a>, <a href="RpcServer.html#getServiceAndInterface(java.util.List,java.lang.String)">getServiceAndInterface</a>, <a href="RpcServer.html#getServiceInterface(java.util.List,java.lang.String)">getServiceInterface</a>, <a href="RpcServer.html#getServices()">getServices</a>, <a href="RpcServer.html#getStatus()">getStatus</a>, <a href="RpcServer.html#initReconfigurable(org.apache.hadoop.conf.Configuration)">initReconfigurable</a>, <a href="RpcServer.html#isInRpcCallContext()">isInRpcCallContext</a>, <a href="RpcServer.html#isStarted()">isStarted</a>, <a href="RpcServer.html#logResponse(org.apache.hbase.thirdparty.com.google.protobuf.Message,java.lang.String,java.lang.String,boolean,boolean,java.lang.String,long,int,int,long,long,long,java.lang.String)">logResponse</a>, <a href="RpcServer.html#needAuthorization()">needAuthorization</a>, <a href="RpcServer.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">onConfigurationChange</a>, <a href="RpcServer.html#refreshAuthManager(org.apache.hadoop.conf.Configuration,org.apache.hadoop.security.authorize.PolicyProvider)">refreshAuthManager</a>, <a href="RpcServer.html#setCurrentCall(org.apache.hadoop.hbase.ipc.RpcCall)">setCurrentCall</a>, <a href="RpcServer.html#setErrorHandler(org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler)">setErrorHandler</a>, <a href="RpcServer.html#setNamedQueueRecorder(org.apache.hadoop.hbase.namequeues.NamedQueueRecorder)">setNamedQueueRecorder</a>, <a href="RpcServer.html#setRsRpcServices(org.apache.hadoop.hbase.regionserver.RSRpcServices)">setRsRpcServices</a>, <a href="RpcServer.html#setSecretManager(org.apache.hadoop.security.token.SecretManager)">setSecretManager</a>, <a href="RpcServer.html#truncateTraceLog(java.lang.String)">truncateTraceLog</a>, <a href="RpcServer.html#unsetCurrentCall()">unsetCurrentCall</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="port">
<h3>port</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-76">port</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="address">
<h3>address</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-77">address</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="readThreads">
<h3>readThreads</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-78">readThreads</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="socketSendBufferSize">
<h3>socketSendBufferSize</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-80">socketSendBufferSize</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="purgeTimeout">
<h3>purgeTimeout</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-81">purgeTimeout</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="connectionManager">
<h3>connectionManager</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="SimpleRpcServer.ConnectionManager.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.ConnectionManager</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-84">connectionManager</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="listener">
<h3>listener</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="SimpleRpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer.Listener</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-85">listener</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="responder">
<h3>responder</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="SimpleRpcServerResponder.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServerResponder</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-86">responder</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.hadoop.hbase.Server,java.lang.String,java.util.List,java.net.InetSocketAddress,org.apache.hadoop.conf.Configuration,org.apache.hadoop.hbase.ipc.RpcScheduler,boolean)">
<h3>SimpleRpcServer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-365">SimpleRpcServer</a></span><wbr><span class="parameters">(<a href="../Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>&nbsp;bindAddress,
org.apache.hadoop.conf.Configuration&nbsp;conf,
<a href="RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a>&nbsp;scheduler,
boolean&nbsp;reservoirEnabled)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Constructs a server listening on the named port and address.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>server</code> - hosting instance of <a href="../Server.html" title="interface in org.apache.hadoop.hbase"><code>Server</code></a>. We will do authentications if an
instance else pass null for no authentication check.</dd>
<dd><code>name</code> - Used keying this rpc servers' metrics and for naming the Listener
thread.</dd>
<dd><code>services</code> - A list of services.</dd>
<dd><code>bindAddress</code> - Where to listen</dd>
<dd><code>reservoirEnabled</code> - Enable ByteBufferPool or not.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getConnection(java.nio.channels.SocketChannel,long)">
<h3>getConnection</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-389">getConnection</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/channels/SocketChannel.html" title="class or interface in java.nio.channels" class="external-link">SocketChannel</a>&nbsp;channel,
long&nbsp;time)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Subclasses of HBaseServer can override this to provide their own Connection implementations.</div>
</section>
</li>
<li>
<section class="detail" id="closeConnection(org.apache.hadoop.hbase.ipc.SimpleServerRpcConnection)">
<h3>closeConnection</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-393">closeConnection</a></span><wbr><span class="parameters">(<a href="SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a>&nbsp;connection)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
</section>
</li>
<li>
<section class="detail" id="setSocketSendBufSize(int)">
<h3>setSocketSendBufSize</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-401">setSocketSendBufSize</a></span><wbr><span class="parameters">(int&nbsp;size)</span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Sets the socket buffer size used for responding to RPCs.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>size</code> - send size</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="start()">
<h3>start</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-407">start</a></span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Starts the service. Must be called before any calls will be handled.</div>
</section>
</li>
<li>
<section class="detail" id="stop()">
<h3>stop</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-430">stop</a></span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Stops the service. No new calls will be handled after this is called.</div>
</section>
</li>
<li>
<section class="detail" id="join()">
<h3>join</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-449">join</a></span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InterruptedException.html" title="class or interface in java.lang" class="external-link">InterruptedException</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Wait for the server to be stopped. Does not wait for all subthreads to finish.</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InterruptedException.html" title="class or interface in java.lang" class="external-link">InterruptedException</a></code></dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#stop()"><code>stop()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getListenerAddress()">
<h3>getListenerAddress</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-462">getListenerAddress</a></span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">Return the socket (ip+port) on which the RPC server is listening to. May return null if the
listener channel is closed.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the socket (ip+port) on which the RPC server is listening to, or null if this
information cannot be determined</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="channelWrite(java.nio.channels.GatheringByteChannel,org.apache.hadoop.hbase.ipc.BufferChain)">
<h3>channelWrite</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-470">channelWrite</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/channels/GatheringByteChannel.html" title="class or interface in java.nio.channels" class="external-link">GatheringByteChannel</a>&nbsp;channel,
<a href="BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;bufferChain)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="bind(java.net.ServerSocket,java.net.InetSocketAddress,int)">
<h3>bind</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-489">bind</a></span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/ServerSocket.html" title="class or interface in java.net" class="external-link">ServerSocket</a>&nbsp;socket,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a>&nbsp;address,
int&nbsp;backlog)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">A convenience method to bind to a given address and report better exceptions if the address is
not a valid host.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>socket</code> - the socket to bind</dd>
<dd><code>address</code> - the address to bind to</dd>
<dd><code>backlog</code> - the number of connections allowed in the queue</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/BindException.html" title="class or interface in java.net" class="external-link">BindException</a></code> - if the address can't be bound</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/UnknownHostException.html" title="class or interface in java.net" class="external-link">UnknownHostException</a></code> - if the address isn't a valid host name</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - other random errors from bind</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNumOpenConnections()">
<h3>getNumOpenConnections</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name"><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html#line-512">getNumOpenConnections</a></span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span></div>
<div class="block">The number of open RPC conections</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="RpcServer.html#getNumOpenConnections()">getNumOpenConnections</a></code>&nbsp;in class&nbsp;<code><a href="RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></code></dd>
<dt>Returns:</dt>
<dd>the number of open rpc connections</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>