blob: d7bb8fafaa366578b5f22cba4a2aa882c4c1a3ed [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (1.8.0_241) on Thu Oct 15 12:23:33 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TcpCommunicationSpi (Ignite 2.9.0)</title>
<meta name="date" content="2020-10-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TcpCommunicationSpi (Ignite 2.9.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":9,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TcpCommunicationSpi.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" target="_top">Frames</a></li>
<li><a href="TcpCommunicationSpi.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.communication.tcp</div>
<h2 title="Class TcpCommunicationSpi" class="title">Class TcpCommunicationSpi</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value--">value</a>=true)
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConsistencyChecked</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConsistencyChecked.html#optional--">optional</a>=false)
public class <span class="typeNameLabel">TcpCommunicationSpi</span>
extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>
implements <a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></pre>
<div class="block"><tt>TcpCommunicationSpi</tt> is default communication SPI which uses
TCP/IP protocol and Java NIO to communicate with other nodes.
<p>
To enable communication with other nodes, this SPI adds <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_ADDRS"><code>ATTR_ADDRS</code></a>
and <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_PORT"><code>ATTR_PORT</code></a> local node attributes (see <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html#attributes--"><code>ClusterNode.attributes()</code></a>.
<p>
At startup, this SPI tries to start listening to local port specified by
<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a> method. If local port is occupied, then SPI will
automatically increment the port number until it can successfully bind for
listening. <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-"><code>setLocalPortRange(int)</code></a> configuration parameter controls
maximum number of ports that SPI will try before it fails. Port range comes
very handy when starting multiple grid nodes on the same machine or even
in the same VM. In this case all nodes can be brought up without a single
change in configuration.
<p>
This SPI caches connections to remote nodes so it does not have to reconnect every
time a message is sent. By default, idle connections are kept active for
<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_IDLE_CONN_TIMEOUT"><code>DFLT_IDLE_CONN_TIMEOUT</code></a> period and then are closed. Use
<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout-long-"><code>setIdleConnectionTimeout(long)</code></a> configuration parameter to configure
you own idle connection timeout.
<h1 class="header">Failure Detection</h1>
Configuration defaults (see Configuration section below and
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a>) for details) are chosen to make possible for
communication SPI work reliably on most of hardware and virtual deployments, but this has made failure detection
time worse.
<p>
If it's needed to tune failure detection then it's highly recommended to do this using
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setFailureDetectionTimeout-long-"><code>IgniteConfiguration.setFailureDetectionTimeout(long)</code></a>. This failure timeout automatically controls the
following parameters: <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectTimeout--"><code>getConnectTimeout()</code></a>, <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMaxConnectTimeout--"><code>getMaxConnectTimeout()</code></a>,
<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReconnectCount--"><code>getReconnectCount()</code></a>. If any of those parameters is set explicitly, then the failure timeout setting will be
ignored.
<p>
If it's required to perform advanced settings of failure detection and
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is unsuitable then various <code>TcpCommunicationSpi</code>
configuration parameters may be used.
<h1 class="header">Configuration</h1>
<h2 class="header">Mandatory</h2>
This SPI has no mandatory configuration parameters.
<h2 class="header">Optional</h2>
The following configuration parameters are optional:
<ul>
<li>Address resolver (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAddressResolver-org.apache.ignite.configuration.AddressResolver-"><code>setAddressResolver(AddressResolver)</code></a></li>
<li>Node local IP address (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalAddress-java.lang.String-"><code>setLocalAddress(String)</code></a>)</li>
<li>Node local port number (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a>)</li>
<li>Local port range (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-"><code>setLocalPortRange(int)</code></a></li>
<li>Use paired connections (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUsePairedConnections-boolean-"><code>setUsePairedConnections(boolean)</code></a></li>
<li>Connections per node (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionsPerNode-int-"><code>setConnectionsPerNode(int)</code></a>)</li>
<li>Shared memory port (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSharedMemoryPort-int-"><code>setSharedMemoryPort(int)</code></a></li>
<li>Idle connection timeout (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout-long-"><code>setIdleConnectionTimeout(long)</code></a>)</li>
<li>Direct or heap buffer allocation (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectBuffer-boolean-"><code>setDirectBuffer(boolean)</code></a>)</li>
<li>Direct or heap buffer allocation for sending (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectSendBuffer-boolean-"><code>setDirectSendBuffer(boolean)</code></a>)</li>
<li>Count of selectors and selector threads for NIO server (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorsCount-int-"><code>setSelectorsCount(int)</code></a>)</li>
<li>Selector thread busy-loop iterations (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorSpins-long-"><code>setSelectorSpins(long)</code></a></li>
<li><code>TCP_NODELAY</code> socket option for sockets (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setTcpNoDelay-boolean-"><code>setTcpNoDelay(boolean)</code></a>)</li>
<li>Filter reachable addresses (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setFilterReachableAddresses-boolean-"><code>setFilterReachableAddresses(boolean)</code></a> </li>
<li>Message queue limit (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMessageQueueLimit-int-"><code>setMessageQueueLimit(int)</code></a>)</li>
<li>Slow client queue limit (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSlowClientQueueLimit-int-"><code>setSlowClientQueueLimit(int)</code></a>)</li>
<li>Connect timeout (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectTimeout-long-"><code>setConnectTimeout(long)</code></a>)</li>
<li>Maximum connect timeout (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMaxConnectTimeout-long-"><code>setMaxConnectTimeout(long)</code></a>)</li>
<li>Reconnect attempts count (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setReconnectCount-int-"><code>setReconnectCount(int)</code></a>)</li>
<li>Socket receive buffer size (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketReceiveBuffer-int-"><code>setSocketReceiveBuffer(int)</code></a>)</li>
<li>Socket send buffer size (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketSendBuffer-int-"><code>setSocketSendBuffer(int)</code></a>)</li>
<li>Socket write timeout (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketWriteTimeout-long-"><code>setSocketWriteTimeout(long)</code></a>)</li>
<li>Number of received messages after which acknowledgment is sent (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAckSendThreshold-int-"><code>setAckSendThreshold(int)</code></a>)</li>
<li>Maximum number of unacknowledged messages (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUnacknowledgedMessagesBufferSize-int-"><code>setUnacknowledgedMessagesBufferSize(int)</code></a>)</li>
</ul>
<h2 class="header">Java Example</h2>
TcpCommunicationSpi is used by default and should be explicitly configured
only if some SPI configuration parameters need to be overridden.
<pre name="code" class="java">
TcpCommunicationSpi commSpi = new TcpCommunicationSpi();
// Override local port.
commSpi.setLocalPort(4321);
IgniteConfiguration cfg = new IgniteConfiguration();
// Override default communication SPI.
cfg.setCommunicationSpi(commSpi);
// Start grid.
Ignition.start(cfg);
</pre>
<h2 class="header">Spring Example</h2>
TcpCommunicationSpi can be configured from Spring XML configuration file:
<pre name="code" class="xml">
&lt;bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"&gt;
...
&lt;property name="communicationSpi"&gt;
&lt;bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi"&gt;
&lt;!-- Override local port. --&gt;
&lt;property name="localPort" value="4321"/&gt;
&lt;/bean&gt;
&lt;/property&gt;
...
&lt;/bean&gt;
</pre>
<p>
<img src="http://ignite.apache.org/images/spring-small.png">
<br>
For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication"><code>CommunicationSpi</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_ADDRS">ATTR_ADDRS</a></span></code>
<div class="block">Node attribute that is mapped to node IP addresses (value is <tt>comm.tcp.addrs</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_EXT_ADDRS">ATTR_EXT_ADDRS</a></span></code>
<div class="block">Node attribute that is mapped to node's external addresses (value is <tt>comm.tcp.ext-addrs</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_FORCE_CLIENT_SERVER_CONNECTIONS">ATTR_FORCE_CLIENT_SERVER_CONNECTIONS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_HOST_NAMES">ATTR_HOST_NAMES</a></span></code>
<div class="block">Node attribute that is mapped to node host names (value is <tt>comm.tcp.host.names</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_PAIRED_CONN">ATTR_PAIRED_CONN</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_PORT">ATTR_PORT</a></span></code>
<div class="block">Node attribute that is mapped to node port number (value is <tt>comm.tcp.port</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_SHMEM_PORT">ATTR_SHMEM_PORT</a></span></code>
<div class="block">Node attribute that is mapped to node port number (value is <tt>comm.shmem.tcp.port</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#COMMUNICATION_METRICS_GROUP_NAME">COMMUNICATION_METRICS_GROUP_NAME</a></span></code>
<div class="block">Communication metrics group name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#CONN_IDX_META">CONN_IDX_META</a></span></code>
<div class="block">Connection index meta for session.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#CONSISTENT_ID_META">CONSISTENT_ID_META</a></span></code>
<div class="block">Node consistent id meta for session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_ACK_SND_THRESHOLD">DFLT_ACK_SND_THRESHOLD</a></span></code>
<div class="block">Default received messages threshold for sending ack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_PER_NODE">DFLT_CONN_PER_NODE</a></span></code>
<div class="block">Default connections per node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_TIMEOUT">DFLT_CONN_TIMEOUT</a></span></code>
<div class="block">Default connection timeout (value is <tt>5000</tt>ms).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_FILTER_REACHABLE_ADDRESSES">DFLT_FILTER_REACHABLE_ADDRESSES</a></span></code>
<div class="block">Default value for <code>FILTER_REACHABLE_ADDRESSES</code> socket option (value is <tt>false</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_IDLE_CONN_TIMEOUT">DFLT_IDLE_CONN_TIMEOUT</a></span></code>
<div class="block">Default idle connection timeout (value is <tt>10</tt>min).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MAX_CONN_TIMEOUT">DFLT_MAX_CONN_TIMEOUT</a></span></code>
<div class="block">Default Maximum connection timeout (value is <tt>600,000</tt>ms).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MSG_QUEUE_LIMIT">DFLT_MSG_QUEUE_LIMIT</a></span></code>
<div class="block">Default message queue limit per connection (for incoming and outgoing .</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT">DFLT_PORT</a></span></code>
<div class="block">Default port which node sets listener to (value is <tt>47100</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT_RANGE">DFLT_PORT_RANGE</a></span></code>
<div class="block">Default local port range (value is <tt>100</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_RECONNECT_CNT">DFLT_RECONNECT_CNT</a></span></code>
<div class="block">Default reconnect attempts count (value is <tt>10</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SELECTORS_CNT">DFLT_SELECTORS_CNT</a></span></code>
<div class="block">Default count of selectors for TCP server equals to
<code>"Math.max(4, Runtime.getRuntime().availableProcessors() / 2)"</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SHMEM_PORT">DFLT_SHMEM_PORT</a></span></code>
<div class="block">Default port which node sets listener for shared memory connections (value is <tt>48100</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_BUF_SIZE">DFLT_SOCK_BUF_SIZE</a></span></code>
<div class="block">Default socket send and receive buffer size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_WRITE_TIMEOUT">DFLT_SOCK_WRITE_TIMEOUT</a></span></code>
<div class="block">Default socket write timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_TCP_NODELAY">DFLT_TCP_NODELAY</a></span></code>
<div class="block">Default value for <code>TCP_NODELAY</code> socket option (value is <tt>true</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DISABLED_CLIENT_PORT">DISABLED_CLIENT_PORT</a></span></code>
<div class="block">Client nodes might have port <code>0</code> if they have no server socket opened.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#HANDSHAKE_MSG_TYPE">HANDSHAKE_MSG_TYPE</a></span></code>
<div class="block">Handshake message type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#HANDSHAKE_WAIT_MSG_TYPE">HANDSHAKE_WAIT_MSG_TYPE</a></span></code>
<div class="block">Handshake wait message type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#MAX_CONN_PER_NODE">MAX_CONN_PER_NODE</a></span></code>
<div class="block">Maximum <code>GridNioSession</code> connections per node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#NODE_ID_MSG_TYPE">NODE_ID_MSG_TYPE</a></span></code>
<div class="block">Node ID message type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#OUT_OF_RESOURCES_TCP_MSG">OUT_OF_RESOURCES_TCP_MSG</a></span></code>
<div class="block">IPC error message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC">RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME">RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_METRIC_DESC">RECEIVED_MESSAGES_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECEIVED_MESSAGES_METRIC_NAME">RECEIVED_MESSAGES_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECOVERY_LAST_ID_MSG_TYPE">RECOVERY_LAST_ID_MSG_TYPE</a></span></code>
<div class="block">Recovery last received ID message type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_BY_TYPE_METRIC_DESC">SENT_MESSAGES_BY_TYPE_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_BY_TYPE_METRIC_NAME">SENT_MESSAGES_BY_TYPE_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_METRIC_DESC">SENT_MESSAGES_METRIC_DESC</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#SENT_MESSAGES_METRIC_NAME">SENT_MESSAGES_METRIC_NAME</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.ignite.internal.processors.tracing.Tracing</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#tracing">tracing</a></span></code>
<div class="block">Tracing.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#igniteInstanceName">igniteInstanceName</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#TcpCommunicationSpi--">TcpCommunicationSpi</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#boundPort--">boundPort</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a></span>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx,
<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
boolean&nbsp;starting)</code>
<div class="block">Method which is called in the end of checkConfigurationConsistency() method.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#checkConnection-java.util.List-">checkConnection</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span>&nbsp;nodes)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected org.apache.ignite.internal.util.nio.GridCommunicationClient</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#createTcpClient-org.apache.ignite.cluster.ClusterNode-int-">createTcpClient</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
int&nbsp;connIdx)</code>
<div class="block">Establish TCP connection to remote node and returns client.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.apache.ignite.internal.IgniteInternalFuture<span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#dumpNodeStatistics-java.util.UUID-">dumpNodeStatistics</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#dumpStats--">dumpStats</a></span>()</code>
<div class="block">Dumps SPI per-connection stats to logs.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#forceClientToServerConnections--">forceClientToServerConnections</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getAckSendThreshold--">getAckSendThreshold</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAckSendThreshold-int-"><code>setAckSendThreshold(int)</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getAddressResolver--">getAddressResolver</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAddressResolver-org.apache.ignite.configuration.AddressResolver-"><code>setAddressResolver(AddressResolver)</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionsPerNode--">getConnectionsPerNode</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionsPerNode-int-"><code>setConnectionsPerNode(int)</code></a>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectTimeout--">getConnectTimeout</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectTimeout-long-"><code>setConnectTimeout(long)</code></a>.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getIdleConnectionTimeout--">getIdleConnectionTimeout</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout-long-"><code>setIdleConnectionTimeout(long)</code></a>.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationListener.html" title="interface in org.apache.ignite.spi.communication">CommunicationListener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getListener--">getListener</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalAddress--">getLocalAddress</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalAddress-java.lang.String-"><code>setLocalAddress(String)</code></a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalPort--">getLocalPort</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a>.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalPortRange--">getLocalPortRange</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-"><code>setLocalPortRange(int)</code></a>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMaxConnectTimeout--">getMaxConnectTimeout</a></span>()</code>
<div class="block">Gets maximum connect timeout.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMessageQueueLimit--">getMessageQueueLimit</a></span>()</code>
<div class="block">Gets message queue limit for incoming and outgoing messages.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getNodeAttributes--">getNodeAttributes</a></span>()</code>
<div class="block">This method is called before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a>
is called).</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getOutboundMessagesQueueSize--">getOutboundMessagesQueueSize</a></span>()</code>
<div class="block">Gets outbound messages queue size.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedBytesCount--">getReceivedBytesCount</a></span>()</code>
<div class="block">Gets received bytes count.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedMessagesByNode--">getReceivedMessagesByNode</a></span>()</code>
<div class="block">Gets received messages counts (grouped by node).</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedMessagesByType--">getReceivedMessagesByType</a></span>()</code>
<div class="block">Gets received messages counts (grouped by type).</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedMessagesCount--">getReceivedMessagesCount</a></span>()</code>
<div class="block">Gets received messages count.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReconnectCount--">getReconnectCount</a></span>()</code>
<div class="block">Gets maximum number of reconnect attempts used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSelectorsCount--">getSelectorsCount</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorsCount-int-"><code>setSelectorsCount(int)</code></a>.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSelectorSpins--">getSelectorSpins</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorSpins-long-"><code>setSelectorSpins(long)</code></a>.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentBytesCount--">getSentBytesCount</a></span>()</code>
<div class="block">Gets sent bytes count.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentMessagesByNode--">getSentMessagesByNode</a></span>()</code>
<div class="block">Gets sent messages counts (grouped by node).</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentMessagesByType--">getSentMessagesByType</a></span>()</code>
<div class="block">Gets sent messages counts (grouped by type).</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentMessagesCount--">getSentMessagesCount</a></span>()</code>
<div class="block">Gets sent messages count.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSharedMemoryPort--">getSharedMemoryPort</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSharedMemoryPort-int-"><code>setSharedMemoryPort(int)</code></a>.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSlowClientQueueLimit--">getSlowClientQueueLimit</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSlowClientQueueLimit-int-"><code>setSlowClientQueueLimit(int)</code></a>.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketReceiveBuffer--">getSocketReceiveBuffer</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketReceiveBuffer-int-"><code>setSocketReceiveBuffer(int)</code></a>.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketSendBuffer--">getSocketSendBuffer</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketSendBuffer-int-"><code>setSocketSendBuffer(int)</code></a>.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketWriteTimeout--">getSocketWriteTimeout</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketWriteTimeout-long-"><code>setSocketWriteTimeout(long)</code></a>.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSpiContext--">getSpiContext</a></span>()</code>
<div class="block">Gets SPI context.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getUnacknowledgedMessagesBufferSize--">getUnacknowledgedMessagesBufferSize</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUnacknowledgedMessagesBufferSize-int-"><code>setUnacknowledgedMessagesBufferSize(int)</code></a>.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#injectResources-org.apache.ignite.Ignite-">injectResources</a></span>(<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a>&nbsp;ignite)</code>
<div class="block">Injects resources.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isDirectBuffer--">isDirectBuffer</a></span>()</code>
<div class="block">Gets flag that indicates whether direct or heap allocated buffer is used.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isDirectSendBuffer--">isDirectSendBuffer</a></span>()</code>
<div class="block">Gets flag defining whether direct send buffer should be used.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isFilterReachableAddresses--">isFilterReachableAddresses</a></span>()</code>
<div class="block">Gets value for <code>FILTER_REACHABLE_ADDRESSES</code> socket option.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isTcpNoDelay--">isTcpNoDelay</a></span>()</code>
<div class="block">Gets value for <code>TCP_NODELAY</code> socket option.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isUsePairedConnections--">isUsePairedConnections</a></span>()</code>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUsePairedConnections-boolean-"><code>setUsePairedConnections(boolean)</code></a>.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>static short</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#makeMessageType-byte-byte-">makeMessageType</a></span>(byte&nbsp;b0,
byte&nbsp;b1)</code>
<div class="block">Concatenates the two parameter bytes to form a message type value.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#nodeAddresses-org.apache.ignite.cluster.ClusterNode-boolean-">nodeAddresses</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
boolean&nbsp;filterReachableAddresses)</code>&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#notifyListener-java.util.UUID-org.apache.ignite.plugin.extensions.communication.Message-org.apache.ignite.lang.IgniteRunnable-">notifyListener</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;sndId,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg,
<a href="../../../../../../org/apache/ignite/lang/IgniteRunnable.html" title="interface in org.apache.ignite.lang">IgniteRunnable</a>&nbsp;msgC)</code>&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;reconnectFut)</code>
<div class="block">Client node disconnected callback.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onClientReconnected-boolean-">onClientReconnected</a></span>(boolean&nbsp;clusterRestarted)</code>
<div class="block">Client node reconnected callback.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onContextDestroyed0--">onContextDestroyed0</a></span>()</code>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></span>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)</code>
<div class="block">Method to be called in the end of onContextInitialized method.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>org.apache.ignite.internal.IgniteInternalFuture<span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/Channel.html?is-external=true" title="class or interface in java.nio.channels">Channel</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#openChannel-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-">openChannel</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;remote,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;initMsg)</code>&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#openSocketChannel--">openSocketChannel</a></span>()</code>
<div class="block">Opens a socket channel.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#processSessionCreationError-org.apache.ignite.cluster.ClusterNode-java.util.Collection-org.apache.ignite.IgniteCheckedException-">processSessionCreationError</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs,
<a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a>&nbsp;errs)</code>
<div class="block">Process errors if TCP/IP <code>GridNioSession</code> creation to remote node hasn't been performed.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#resetMetrics--">resetMetrics</a></span>()</code>
<div class="block">Resets metrics for this SPI instance.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#sendMessage-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-">sendMessage</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg)</code>
<div class="block">Sends given message to destination node.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#sendMessage-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-org.apache.ignite.lang.IgniteInClosure-">sendMessage</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg,
<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a><span class='angle_bracket'>&gt;</span>&nbsp;ackC)</code>
<div class="block">Sends given message to destination node.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAckSendThreshold-int-">setAckSendThreshold</a></span>(int&nbsp;ackSndThreshold)</code>
<div class="block">Sets number of received messages per connection to node after which acknowledgment message is sent.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAddressResolver-org.apache.ignite.configuration.AddressResolver-">setAddressResolver</a></span>(<a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;addrRslvr)</code>
<div class="block">Sets address resolver.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionRequestor-org.apache.ignite.spi.communication.tcp.internal.ConnectionRequestor-">setConnectionRequestor</a></span>(org.apache.ignite.spi.communication.tcp.internal.ConnectionRequestor&nbsp;connectionRequestor)</code>&nbsp;</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionsPerNode-int-">setConnectionsPerNode</a></span>(int&nbsp;maxConnectionsPerNode)</code>
<div class="block">Sets number of connections to each remote node. if <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isUsePairedConnections--"><code>isUsePairedConnections()</code></a>
is <code>true</code> then number of connections is doubled and half is used for incoming and
half for outgoing messages.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectTimeout-long-">setConnectTimeout</a></span>(long&nbsp;connTimeout)</code>
<div class="block">Sets connect timeout used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectBuffer-boolean-">setDirectBuffer</a></span>(boolean&nbsp;directBuf)</code>
<div class="block">Sets flag to allocate direct or heap buffer in SPI.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectSendBuffer-boolean-">setDirectSendBuffer</a></span>(boolean&nbsp;directSndBuf)</code>
<div class="block">Sets whether to use direct buffer for sending.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setFilterReachableAddresses-boolean-">setFilterReachableAddresses</a></span>(boolean&nbsp;filterReachableAddresses)</code>
<div class="block">Setting this option to <code>true</code> enables filter for reachable
addresses on creating tcp client.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setForceClientToServerConnections-boolean-">setForceClientToServerConnections</a></span>(boolean&nbsp;forceClientToSrvConnections)</code>
<div class="block">Applicable for clients only.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout-long-">setIdleConnectionTimeout</a></span>(long&nbsp;idleConnTimeout)</code>
<div class="block">Sets maximum idle connection timeout upon which a connection
to client will be closed.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setListener-org.apache.ignite.spi.communication.CommunicationListener-">setListener</a></span>(<a href="../../../../../../org/apache/ignite/spi/communication/CommunicationListener.html" title="interface in org.apache.ignite.spi.communication">CommunicationListener</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</code>
<div class="block">Set communication listener.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalAddress-java.lang.String-">setLocalAddress</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locAddr)</code>
<div class="block">Sets local host address for socket binding.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-">setLocalPort</a></span>(int&nbsp;locPort)</code>
<div class="block">Sets local port for socket binding.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-">setLocalPortRange</a></span>(int&nbsp;locPortRange)</code>
<div class="block">Sets local port range for local host ports (value must greater than or equal to <tt>0</tt>).</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMaxConnectTimeout-long-">setMaxConnectTimeout</a></span>(long&nbsp;maxConnTimeout)</code>
<div class="block">Sets maximum connect timeout.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMessageQueueLimit-int-">setMessageQueueLimit</a></span>(int&nbsp;msgQueueLimit)</code>
<div class="block">Sets message queue limit for incoming and outgoing messages.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Sets SPI name.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setReconnectCount-int-">setReconnectCount</a></span>(int&nbsp;reconCnt)</code>
<div class="block">Sets maximum number of reconnect attempts used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorsCount-int-">setSelectorsCount</a></span>(int&nbsp;selectorsCnt)</code>
<div class="block">Sets the count of selectors te be used in TCP server.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorSpins-long-">setSelectorSpins</a></span>(long&nbsp;selectorSpins)</code>
<div class="block">Defines how many non-blocking <code>selector.selectNow()</code> should be made before
falling into <code>selector.select(long)</code> in NIO server.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSharedMemoryPort-int-">setSharedMemoryPort</a></span>(int&nbsp;shmemPort)</code>
<div class="block">Sets local port to accept shared memory connections.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSlowClientQueueLimit-int-">setSlowClientQueueLimit</a></span>(int&nbsp;slowClientQueueLimit)</code>
<div class="block">Sets slow client queue limit.</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketReceiveBuffer-int-">setSocketReceiveBuffer</a></span>(int&nbsp;sockRcvBuf)</code>
<div class="block">Sets receive buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketSendBuffer-int-">setSocketSendBuffer</a></span>(int&nbsp;sockSndBuf)</code>
<div class="block">Sets send buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketWriteTimeout-long-">setSocketWriteTimeout</a></span>(long&nbsp;sockWriteTimeout)</code>
<div class="block">Sets socket write timeout for TCP connection.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setTcpNoDelay-boolean-">setTcpNoDelay</a></span>(boolean&nbsp;tcpNoDelay)</code>
<div class="block">Sets value for <code>TCP_NODELAY</code> socket option.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUnacknowledgedMessagesBufferSize-int-">setUnacknowledgedMessagesBufferSize</a></span>(int&nbsp;unackedMsgsBufSize)</code>
<div class="block">Sets maximum number of stored unacknowledged messages per connection to node.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUsePairedConnections-boolean-">setUsePairedConnections</a></span>(boolean&nbsp;usePairedConnections)</code>
<div class="block">Set this to <code>true</code> if <code>TcpCommunicationSpi</code> should
maintain connection for outgoing and incoming messages separately.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#simulateNodeFailure--">simulateNodeFailure</a></span>()</code>
<div class="block">Stops service threads to simulate node failure.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#spiStart-java.lang.String-">spiStart</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#spiStop--">spiStop</a></span>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#toString--">toString</a></span>()</code></td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#writeMessageType-java.nio.ByteBuffer-short-">writeMessageType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
short&nbsp;type)</code>
<div class="block">Write message type to byte buffer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter-boolean-java.lang.String-">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#clientFailureDetectionTimeout--">clientFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo-java.lang.String-java.lang.Object-">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName-java.lang.String-">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled--">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled-boolean-">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry--">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode--">getLocalNode</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite--">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout--">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables--">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping--">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart--">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean-java.lang.String-T-java.lang.Class-">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started--">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo--">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch--">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo--">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean--">unregisterMBean</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed--">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized</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="OUT_OF_RESOURCES_TCP_MSG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OUT_OF_RESOURCES_TCP_MSG</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> OUT_OF_RESOURCES_TCP_MSG</pre>
<div class="block">IPC error message.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.OUT_OF_RESOURCES_TCP_MSG">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_ADDRS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_ADDRS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_ADDRS</pre>
<div class="block">Node attribute that is mapped to node IP addresses (value is <tt>comm.tcp.addrs</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_ADDRS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_HOST_NAMES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_HOST_NAMES</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_HOST_NAMES</pre>
<div class="block">Node attribute that is mapped to node host names (value is <tt>comm.tcp.host.names</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_HOST_NAMES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_PORT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_PORT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_PORT</pre>
<div class="block">Node attribute that is mapped to node port number (value is <tt>comm.tcp.port</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_PORT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_SHMEM_PORT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_SHMEM_PORT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_SHMEM_PORT</pre>
<div class="block">Node attribute that is mapped to node port number (value is <tt>comm.shmem.tcp.port</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_SHMEM_PORT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_EXT_ADDRS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_EXT_ADDRS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_EXT_ADDRS</pre>
<div class="block">Node attribute that is mapped to node's external addresses (value is <tt>comm.tcp.ext-addrs</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_EXT_ADDRS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_PAIRED_CONN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_PAIRED_CONN</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_PAIRED_CONN</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_PAIRED_CONN">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="ATTR_FORCE_CLIENT_SERVER_CONNECTIONS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_FORCE_CLIENT_SERVER_CONNECTIONS</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_FORCE_CLIENT_SERVER_CONNECTIONS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.ATTR_FORCE_CLIENT_SERVER_CONNECTIONS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_PORT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PORT</h4>
<pre>public static final&nbsp;int DFLT_PORT</pre>
<div class="block">Default port which node sets listener to (value is <tt>47100</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_PORT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_SHMEM_PORT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SHMEM_PORT</h4>
<pre>public static final&nbsp;int DFLT_SHMEM_PORT</pre>
<div class="block">Default port which node sets listener for shared memory connections (value is <tt>48100</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_SHMEM_PORT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_IDLE_CONN_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IDLE_CONN_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_IDLE_CONN_TIMEOUT</pre>
<div class="block">Default idle connection timeout (value is <tt>10</tt>min).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_IDLE_CONN_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_SOCK_BUF_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SOCK_BUF_SIZE</h4>
<pre>public static final&nbsp;int DFLT_SOCK_BUF_SIZE</pre>
<div class="block">Default socket send and receive buffer size.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_SOCK_BUF_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_CONN_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONN_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_CONN_TIMEOUT</pre>
<div class="block">Default connection timeout (value is <tt>5000</tt>ms).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_CONN_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_MAX_CONN_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_CONN_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_MAX_CONN_TIMEOUT</pre>
<div class="block">Default Maximum connection timeout (value is <tt>600,000</tt>ms).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_MAX_CONN_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_RECONNECT_CNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_RECONNECT_CNT</h4>
<pre>public static final&nbsp;int DFLT_RECONNECT_CNT</pre>
<div class="block">Default reconnect attempts count (value is <tt>10</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_RECONNECT_CNT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_MSG_QUEUE_LIMIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MSG_QUEUE_LIMIT</h4>
<pre>public static final&nbsp;int DFLT_MSG_QUEUE_LIMIT</pre>
<div class="block">Default message queue limit per connection (for incoming and outgoing .</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_MSG_QUEUE_LIMIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_SELECTORS_CNT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SELECTORS_CNT</h4>
<pre>public static final&nbsp;int DFLT_SELECTORS_CNT</pre>
<div class="block">Default count of selectors for TCP server equals to
<code>"Math.max(4, Runtime.getRuntime().availableProcessors() / 2)"</code>.</div>
</li>
</ul>
<a name="CONN_IDX_META">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONN_IDX_META</h4>
<pre>public static final&nbsp;int CONN_IDX_META</pre>
<div class="block">Connection index meta for session.</div>
</li>
</ul>
<a name="CONSISTENT_ID_META">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CONSISTENT_ID_META</h4>
<pre>public static final&nbsp;int CONSISTENT_ID_META</pre>
<div class="block">Node consistent id meta for session.</div>
</li>
</ul>
<a name="DFLT_PORT_RANGE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PORT_RANGE</h4>
<pre>public static final&nbsp;int DFLT_PORT_RANGE</pre>
<div class="block">Default local port range (value is <tt>100</tt>).
See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-"><code>setLocalPortRange(int)</code></a> for details.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_PORT_RANGE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_TCP_NODELAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TCP_NODELAY</h4>
<pre>public static final&nbsp;boolean DFLT_TCP_NODELAY</pre>
<div class="block">Default value for <code>TCP_NODELAY</code> socket option (value is <tt>true</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_TCP_NODELAY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_FILTER_REACHABLE_ADDRESSES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_FILTER_REACHABLE_ADDRESSES</h4>
<pre>public static final&nbsp;boolean DFLT_FILTER_REACHABLE_ADDRESSES</pre>
<div class="block">Default value for <code>FILTER_REACHABLE_ADDRESSES</code> socket option (value is <tt>false</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_FILTER_REACHABLE_ADDRESSES">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_ACK_SND_THRESHOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_ACK_SND_THRESHOLD</h4>
<pre>public static final&nbsp;int DFLT_ACK_SND_THRESHOLD</pre>
<div class="block">Default received messages threshold for sending ack.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_ACK_SND_THRESHOLD">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_SOCK_WRITE_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SOCK_WRITE_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_SOCK_WRITE_TIMEOUT</pre>
<div class="block">Default socket write timeout.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_SOCK_WRITE_TIMEOUT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_CONN_PER_NODE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONN_PER_NODE</h4>
<pre>public static final&nbsp;int DFLT_CONN_PER_NODE</pre>
<div class="block">Default connections per node.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_CONN_PER_NODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MAX_CONN_PER_NODE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_CONN_PER_NODE</h4>
<pre>public static final&nbsp;int MAX_CONN_PER_NODE</pre>
<div class="block">Maximum <code>GridNioSession</code> connections per node.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.MAX_CONN_PER_NODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="NODE_ID_MSG_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NODE_ID_MSG_TYPE</h4>
<pre>public static final&nbsp;short NODE_ID_MSG_TYPE</pre>
<div class="block">Node ID message type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.NODE_ID_MSG_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECOVERY_LAST_ID_MSG_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECOVERY_LAST_ID_MSG_TYPE</h4>
<pre>public static final&nbsp;short RECOVERY_LAST_ID_MSG_TYPE</pre>
<div class="block">Recovery last received ID message type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECOVERY_LAST_ID_MSG_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HANDSHAKE_MSG_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HANDSHAKE_MSG_TYPE</h4>
<pre>public static final&nbsp;short HANDSHAKE_MSG_TYPE</pre>
<div class="block">Handshake message type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.HANDSHAKE_MSG_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="HANDSHAKE_WAIT_MSG_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>HANDSHAKE_WAIT_MSG_TYPE</h4>
<pre>public static final&nbsp;short HANDSHAKE_WAIT_MSG_TYPE</pre>
<div class="block">Handshake wait message type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.HANDSHAKE_WAIT_MSG_TYPE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="COMMUNICATION_METRICS_GROUP_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>COMMUNICATION_METRICS_GROUP_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> COMMUNICATION_METRICS_GROUP_NAME</pre>
<div class="block">Communication metrics group name.</div>
</li>
</ul>
<a name="SENT_MESSAGES_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SENT_MESSAGES_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SENT_MESSAGES_BY_TYPE_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_BY_TYPE_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_BY_TYPE_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_BY_TYPE_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SENT_MESSAGES_BY_TYPE_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_BY_TYPE_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_BY_TYPE_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_BY_TYPE_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_BY_TYPE_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_BY_TYPE_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.SENT_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.RECEIVED_MESSAGES_BY_NODE_CONSISTENT_ID_METRIC_DESC">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DISABLED_CLIENT_PORT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DISABLED_CLIENT_PORT</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a> DISABLED_CLIENT_PORT</pre>
<div class="block">Client nodes might have port <code>0</code> if they have no server socket opened.</div>
</li>
</ul>
<a name="tracing">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>tracing</h4>
<pre>protected&nbsp;org.apache.ignite.internal.processors.tracing.Tracing tracing</pre>
<div class="block">Tracing.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TcpCommunicationSpi--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TcpCommunicationSpi</h4>
<pre>public&nbsp;TcpCommunicationSpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setAddressResolver-org.apache.ignite.configuration.AddressResolver-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddressResolver</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setAddressResolver(<a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;addrRslvr)</pre>
<div class="block">Sets address resolver.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addrRslvr</code> - Address resolver.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getAddressResolver--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddressResolver</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;getAddressResolver()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAddressResolver-org.apache.ignite.configuration.AddressResolver-"><code>setAddressResolver(AddressResolver)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Address resolver.</dd>
</dl>
</li>
</ul>
<a name="injectResources-org.apache.ignite.Ignite-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>injectResources</h4>
<pre><a href="../../../../../../org/apache/ignite/resources/IgniteInstanceResource.html" title="annotation in org.apache.ignite.resources">@IgniteInstanceResource</a>
protected&nbsp;void&nbsp;injectResources(<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a>&nbsp;ignite)</pre>
<div class="block">Injects resources.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources-org.apache.ignite.Ignite-">injectResources</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ignite</code> - Ignite.</dd>
</dl>
</li>
</ul>
<a name="setLocalAddress-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalAddress</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setLocalAddress(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locAddr)</pre>
<div class="block">Sets local host address for socket binding. Note that one node could have
additional addresses beside the loopback one. This configuration
parameter is optional.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locAddr</code> - IP address. Default value is any available local
IP address.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getLocalAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocalAddress()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalAddress-java.lang.String-"><code>setLocalAddress(String)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Grid node IP address.</dd>
</dl>
</li>
</ul>
<a name="setLocalPort-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalPort</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setLocalPort(int&nbsp;locPort)</pre>
<div class="block">Sets local port for socket binding.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT"><code>DFLT_PORT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locPort</code> - Port number.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getLocalPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPort</h4>
<pre>public&nbsp;int&nbsp;getLocalPort()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Port number.</dd>
</dl>
</li>
</ul>
<a name="setLocalPortRange-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalPortRange</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setLocalPortRange(int&nbsp;locPortRange)</pre>
<div class="block">Sets local port range for local host ports (value must greater than or equal to <tt>0</tt>).
If provided local port (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a>} is occupied,
implementation will try to increment the port number for as long as it is less than
initial value plus this range.
<p>
If port range value is <tt>0</tt>, then implementation will try bind only to the port provided by
<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort-int-"><code>setLocalPort(int)</code></a> method and fail if binding to this port did not succeed.
<p>
Local port range is very useful during development when more than one grid nodes need to run
on the same physical machine.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT_RANGE"><code>DFLT_PORT_RANGE</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locPortRange</code> - New local port range.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getLocalPortRange--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPortRange</h4>
<pre>public&nbsp;int&nbsp;getLocalPortRange()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange-int-"><code>setLocalPortRange(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Local Port range.</dd>
</dl>
</li>
</ul>
<a name="isUsePairedConnections--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUsePairedConnections</h4>
<pre>public&nbsp;boolean&nbsp;isUsePairedConnections()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUsePairedConnections-boolean-"><code>setUsePairedConnections(boolean)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> to use paired connections and <code>false</code> otherwise.</dd>
</dl>
</li>
</ul>
<a name="setUsePairedConnections-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUsePairedConnections</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setUsePairedConnections(boolean&nbsp;usePairedConnections)</pre>
<div class="block">Set this to <code>true</code> if <code>TcpCommunicationSpi</code> should
maintain connection for outgoing and incoming messages separately.
In this case total number of connections between local and each remote node
is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionsPerNode--"><code>getConnectionsPerNode()</code></a> * 2.
<p>
Set this to <code>false</code> if each connection of <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionsPerNode--"><code>getConnectionsPerNode()</code></a>
should be used for outgoing and incoming messages. In this case total number
of connections between local and each remote node is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionsPerNode--"><code>getConnectionsPerNode()</code></a>.
<p>
Default is <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>usePairedConnections</code> - <code>true</code> to use paired connections and <code>false</code> otherwise.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionsPerNode--"><code>getConnectionsPerNode()</code></a></dd>
</dl>
</li>
</ul>
<a name="setConnectionsPerNode-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionsPerNode</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setConnectionsPerNode(int&nbsp;maxConnectionsPerNode)</pre>
<div class="block">Sets number of connections to each remote node. if <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isUsePairedConnections--"><code>isUsePairedConnections()</code></a>
is <code>true</code> then number of connections is doubled and half is used for incoming and
half for outgoing messages.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxConnectionsPerNode</code> - Number of connections per node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isUsePairedConnections--"><code>isUsePairedConnections()</code></a></dd>
</dl>
</li>
</ul>
<a name="getConnectionsPerNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionsPerNode</h4>
<pre>public&nbsp;int&nbsp;getConnectionsPerNode()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionsPerNode-int-"><code>setConnectionsPerNode(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of connections per node.</dd>
</dl>
</li>
</ul>
<a name="setSharedMemoryPort-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSharedMemoryPort</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSharedMemoryPort(int&nbsp;shmemPort)</pre>
<div class="block">Sets local port to accept shared memory connections.
<p>
If set to <code>-1</code> shared memory communication will be disabled.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SHMEM_PORT"><code>DFLT_SHMEM_PORT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>shmemPort</code> - Port number.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getSharedMemoryPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSharedMemoryPort</h4>
<pre>public&nbsp;int&nbsp;getSharedMemoryPort()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSharedMemoryPort-int-"><code>setSharedMemoryPort(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Port number.</dd>
</dl>
</li>
</ul>
<a name="setIdleConnectionTimeout-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleConnectionTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setIdleConnectionTimeout(long&nbsp;idleConnTimeout)</pre>
<div class="block">Sets maximum idle connection timeout upon which a connection
to client will be closed.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_IDLE_CONN_TIMEOUT"><code>DFLT_IDLE_CONN_TIMEOUT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idleConnTimeout</code> - Maximum idle connection time.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getIdleConnectionTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleConnectionTimeout</h4>
<pre>public&nbsp;long&nbsp;getIdleConnectionTimeout()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout-long-"><code>setIdleConnectionTimeout(long)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum idle connection time.</dd>
</dl>
</li>
</ul>
<a name="getSocketWriteTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocketWriteTimeout</h4>
<pre>public&nbsp;long&nbsp;getSocketWriteTimeout()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketWriteTimeout-long-"><code>setSocketWriteTimeout(long)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Socket write timeout for TCP connections.</dd>
</dl>
</li>
</ul>
<a name="setSocketWriteTimeout-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSocketWriteTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSocketWriteTimeout(long&nbsp;sockWriteTimeout)</pre>
<div class="block">Sets socket write timeout for TCP connection. If message can not be written to
socket within this time then connection is closed and reconnect is attempted.
<p>
Default to <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_WRITE_TIMEOUT"><code>DFLT_SOCK_WRITE_TIMEOUT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sockWriteTimeout</code> - Socket write timeout for TCP connection.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getAckSendThreshold--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAckSendThreshold</h4>
<pre>public&nbsp;int&nbsp;getAckSendThreshold()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAckSendThreshold-int-"><code>setAckSendThreshold(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Number of received messages after which acknowledgment is sent.</dd>
</dl>
</li>
</ul>
<a name="setAckSendThreshold-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAckSendThreshold</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setAckSendThreshold(int&nbsp;ackSndThreshold)</pre>
<div class="block">Sets number of received messages per connection to node after which acknowledgment message is sent.
<p>
Default to <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_ACK_SND_THRESHOLD"><code>DFLT_ACK_SND_THRESHOLD</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ackSndThreshold</code> - Number of received messages after which acknowledgment is sent.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getUnacknowledgedMessagesBufferSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnacknowledgedMessagesBufferSize</h4>
<pre>public&nbsp;int&nbsp;getUnacknowledgedMessagesBufferSize()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUnacknowledgedMessagesBufferSize-int-"><code>setUnacknowledgedMessagesBufferSize(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum number of unacknowledged messages.</dd>
</dl>
</li>
</ul>
<a name="setUnacknowledgedMessagesBufferSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUnacknowledgedMessagesBufferSize</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setUnacknowledgedMessagesBufferSize(int&nbsp;unackedMsgsBufSize)</pre>
<div class="block">Sets maximum number of stored unacknowledged messages per connection to node.
If number of unacknowledged messages exceeds this number then connection to node is
closed and reconnect is attempted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>unackedMsgsBufSize</code> - Maximum number of unacknowledged messages.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setConnectTimeout-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setConnectTimeout(long&nbsp;connTimeout)</pre>
<div class="block">Sets connect timeout used when establishing connection
with remote nodes.
<p>
<code>0</code> is interpreted as infinite timeout.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_TIMEOUT"><code>DFLT_CONN_TIMEOUT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connTimeout</code> - Connect timeout.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getConnectTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectTimeout</h4>
<pre>public&nbsp;long&nbsp;getConnectTimeout()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectTimeout-long-"><code>setConnectTimeout(long)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Connect timeout.</dd>
</dl>
</li>
</ul>
<a name="setMaxConnectTimeout-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxConnectTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setMaxConnectTimeout(long&nbsp;maxConnTimeout)</pre>
<div class="block">Sets maximum connect timeout. If handshake is not established within connect timeout,
then SPI tries to repeat handshake procedure with increased connect timeout.
Connect timeout can grow till maximum timeout value,
if maximum timeout value is reached then the handshake is considered as failed.
<p>
<code>0</code> is interpreted as infinite timeout.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MAX_CONN_TIMEOUT"><code>DFLT_MAX_CONN_TIMEOUT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxConnTimeout</code> - Maximum connect timeout.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getMaxConnectTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxConnectTimeout</h4>
<pre>public&nbsp;long&nbsp;getMaxConnectTimeout()</pre>
<div class="block">Gets maximum connect timeout.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Maximum connect timeout.</dd>
</dl>
</li>
</ul>
<a name="setReconnectCount-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReconnectCount</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setReconnectCount(int&nbsp;reconCnt)</pre>
<div class="block">Sets maximum number of reconnect attempts used when establishing connection
with remote nodes.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_RECONNECT_CNT"><code>DFLT_RECONNECT_CNT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reconCnt</code> - Maximum number of reconnection attempts.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getReconnectCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReconnectCount</h4>
<pre>public&nbsp;int&nbsp;getReconnectCount()</pre>
<div class="block">Gets maximum number of reconnect attempts used when establishing connection
with remote nodes.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Reconnects count.</dd>
</dl>
</li>
</ul>
<a name="setDirectBuffer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDirectBuffer</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setDirectBuffer(boolean&nbsp;directBuf)</pre>
<div class="block">Sets flag to allocate direct or heap buffer in SPI.
If value is <code>true</code>, then SPI will use <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true#allocateDirect-int-" title="class or interface in java.nio"><code>ByteBuffer.allocateDirect(int)</code></a> call.
Otherwise, SPI will use <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true#allocate-int-" title="class or interface in java.nio"><code>ByteBuffer.allocate(int)</code></a> call.
<p>
If not provided, default value is <code>true</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>directBuf</code> - Flag indicates to allocate direct or heap buffer in SPI.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="isDirectBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirectBuffer</h4>
<pre>public&nbsp;boolean&nbsp;isDirectBuffer()</pre>
<div class="block">Gets flag that indicates whether direct or heap allocated buffer is used.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Flag that indicates whether direct or heap allocated buffer is used.</dd>
</dl>
</li>
</ul>
<a name="isDirectSendBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirectSendBuffer</h4>
<pre>public&nbsp;boolean&nbsp;isDirectSendBuffer()</pre>
<div class="block">Gets flag defining whether direct send buffer should be used.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if direct buffers should be used.</dd>
</dl>
</li>
</ul>
<a name="setDirectSendBuffer-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDirectSendBuffer</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setDirectSendBuffer(boolean&nbsp;directSndBuf)</pre>
<div class="block">Sets whether to use direct buffer for sending.
If not provided default is <code>false</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>directSndBuf</code> - <code>True</code> to use direct buffers for send.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setSelectorsCount-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSelectorsCount</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSelectorsCount(int&nbsp;selectorsCnt)</pre>
<div class="block">Sets the count of selectors te be used in TCP server.
<p/>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SELECTORS_CNT"><code>DFLT_SELECTORS_CNT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>selectorsCnt</code> - Selectors count.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getSelectorsCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectorsCount</h4>
<pre>public&nbsp;int&nbsp;getSelectorsCount()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorsCount-int-"><code>setSelectorsCount(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Count of selectors in TCP server.</dd>
</dl>
</li>
</ul>
<a name="getSelectorSpins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSelectorSpins</h4>
<pre>public&nbsp;long&nbsp;getSelectorSpins()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorSpins-long-"><code>setSelectorSpins(long)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Selector thread busy-loop iterations.</dd>
</dl>
</li>
</ul>
<a name="setSelectorSpins-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSelectorSpins</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSelectorSpins(long&nbsp;selectorSpins)</pre>
<div class="block">Defines how many non-blocking <code>selector.selectNow()</code> should be made before
falling into <code>selector.select(long)</code> in NIO server. Long value. Default is <code>0</code>.
Can be set to <code>Long.MAX_VALUE</code> so selector threads will never block.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>selectorSpins</code> - Selector thread busy-loop iterations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setTcpNoDelay-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTcpNoDelay</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setTcpNoDelay(boolean&nbsp;tcpNoDelay)</pre>
<div class="block">Sets value for <code>TCP_NODELAY</code> socket option. Each
socket will be opened using provided value.
<p>
Setting this option to <code>true</code> disables Nagle's algorithm
for socket decreasing latency and delivery time for small messages.
<p>
For systems that work under heavy network load it is advisable to
set this value to <code>false</code>.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_TCP_NODELAY"><code>DFLT_TCP_NODELAY</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>tcpNoDelay</code> - <code>True</code> to disable TCP delay.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="isTcpNoDelay--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTcpNoDelay</h4>
<pre>public&nbsp;boolean&nbsp;isTcpNoDelay()</pre>
<div class="block">Gets value for <code>TCP_NODELAY</code> socket option.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if TCP delay is disabled.</dd>
</dl>
</li>
</ul>
<a name="isFilterReachableAddresses--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFilterReachableAddresses</h4>
<pre>public&nbsp;boolean&nbsp;isFilterReachableAddresses()</pre>
<div class="block">Gets value for <code>FILTER_REACHABLE_ADDRESSES</code> socket option.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if needed to filter reachable addresses.</dd>
</dl>
</li>
</ul>
<a name="setFilterReachableAddresses-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterReachableAddresses</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setFilterReachableAddresses(boolean&nbsp;filterReachableAddresses)</pre>
<div class="block">Setting this option to <code>true</code> enables filter for reachable
addresses on creating tcp client.
<p>
Usually its advised to set this value to <code>false</code>.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_FILTER_REACHABLE_ADDRESSES"><code>DFLT_FILTER_REACHABLE_ADDRESSES</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filterReachableAddresses</code> - <code>True</code> to filter reachable addresses.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setSocketReceiveBuffer-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSocketReceiveBuffer</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSocketReceiveBuffer(int&nbsp;sockRcvBuf)</pre>
<div class="block">Sets receive buffer size for sockets created or accepted by this SPI.
<p>
If not provided, default is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_BUF_SIZE"><code>DFLT_SOCK_BUF_SIZE</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sockRcvBuf</code> - Socket receive buffer size.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getSocketReceiveBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocketReceiveBuffer</h4>
<pre>public&nbsp;int&nbsp;getSocketReceiveBuffer()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketReceiveBuffer-int-"><code>setSocketReceiveBuffer(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Socket receive buffer size.</dd>
</dl>
</li>
</ul>
<a name="setSocketSendBuffer-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSocketSendBuffer</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSocketSendBuffer(int&nbsp;sockSndBuf)</pre>
<div class="block">Sets send buffer size for sockets created or accepted by this SPI.
<p>
If not provided, default is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_BUF_SIZE"><code>DFLT_SOCK_BUF_SIZE</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sockSndBuf</code> - Socket send buffer size.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getSocketSendBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocketSendBuffer</h4>
<pre>public&nbsp;int&nbsp;getSocketSendBuffer()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketSendBuffer-int-"><code>setSocketSendBuffer(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Socket send buffer size.</dd>
</dl>
</li>
</ul>
<a name="setMessageQueueLimit-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMessageQueueLimit</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setMessageQueueLimit(int&nbsp;msgQueueLimit)</pre>
<div class="block">Sets message queue limit for incoming and outgoing messages.
<p>
When set to positive number send queue is limited to the configured value.
<code>0</code> disables the size limitations.
<p>
If not provided, default is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MSG_QUEUE_LIMIT"><code>DFLT_MSG_QUEUE_LIMIT</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msgQueueLimit</code> - Send queue size limit.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getMessageQueueLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageQueueLimit</h4>
<pre>public&nbsp;int&nbsp;getMessageQueueLimit()</pre>
<div class="block">Gets message queue limit for incoming and outgoing messages.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Send queue size limit.</dd>
</dl>
</li>
</ul>
<a name="getSlowClientQueueLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSlowClientQueueLimit</h4>
<pre>public&nbsp;int&nbsp;getSlowClientQueueLimit()</pre>
<div class="block">See <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSlowClientQueueLimit-int-"><code>setSlowClientQueueLimit(int)</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Slow client queue limit.</dd>
</dl>
</li>
</ul>
<a name="setSlowClientQueueLimit-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSlowClientQueueLimit</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setSlowClientQueueLimit(int&nbsp;slowClientQueueLimit)</pre>
<div class="block">Sets slow client queue limit.
<p/>
When set to a positive number, communication SPI will monitor clients outbound message queue sizes and will drop
those clients whose queue exceeded this limit.
<p/>
This value should be set to less or equal value than <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMessageQueueLimit--"><code>getMessageQueueLimit()</code></a> which controls
message back-pressure for server nodes. The default value for this parameter is <code>0</code>
which means <code>unlimited</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>slowClientQueueLimit</code> - Slow client queue limit.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="forceClientToServerConnections--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forceClientToServerConnections</h4>
<pre>public&nbsp;boolean&nbsp;forceClientToServerConnections()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Force client to server connections flag.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setForceClientToServerConnections-boolean-"><code>setForceClientToServerConnections(boolean)</code></a></dd>
</dl>
</li>
</ul>
<a name="setForceClientToServerConnections-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setForceClientToServerConnections</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setForceClientToServerConnections(boolean&nbsp;forceClientToSrvConnections)</pre>
<div class="block">Applicable for clients only. Sets PSI in the mode when server node cannot open TCP connection to the current
node. Possile reasons for that may be specific network configurations or security rules.
In this mode, when server needs the connection with client, it uses <a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a> protocol to notify
client about it. After that client opens the required connection from its side.</div>
</li>
</ul>
<a name="setListener-org.apache.ignite.spi.communication.CommunicationListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setListener</h4>
<pre>public&nbsp;void&nbsp;setListener(<a href="../../../../../../org/apache/ignite/spi/communication/CommunicationListener.html" title="interface in org.apache.ignite.spi.communication">CommunicationListener</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</pre>
<div class="block">Set communication listener.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#setListener-org.apache.ignite.spi.communication.CommunicationListener-">setListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Listener to set or <code>null</code> to unset the listener.</dd>
</dl>
</li>
</ul>
<a name="getListener--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListener</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/CommunicationListener.html" title="interface in org.apache.ignite.spi.communication">CommunicationListener</a>&nbsp;getListener()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Listener.</dd>
</dl>
</li>
</ul>
<a name="setConnectionRequestor-org.apache.ignite.spi.communication.tcp.internal.ConnectionRequestor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionRequestor</h4>
<pre>public&nbsp;void&nbsp;setConnectionRequestor(org.apache.ignite.spi.communication.tcp.internal.ConnectionRequestor&nbsp;connectionRequestor)</pre>
</li>
</ul>
<a name="getSentMessagesCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentMessagesCount</h4>
<pre>public&nbsp;int&nbsp;getSentMessagesCount()</pre>
<div class="block">Gets sent messages count.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#getSentMessagesCount--">getSentMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sent messages count.</dd>
</dl>
</li>
</ul>
<a name="getSentBytesCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentBytesCount</h4>
<pre>public&nbsp;long&nbsp;getSentBytesCount()</pre>
<div class="block">Gets sent bytes count.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#getSentBytesCount--">getSentBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sent bytes count.</dd>
</dl>
</li>
</ul>
<a name="getReceivedMessagesCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedMessagesCount</h4>
<pre>public&nbsp;int&nbsp;getReceivedMessagesCount()</pre>
<div class="block">Gets received messages count.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#getReceivedMessagesCount--">getReceivedMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Received messages count.</dd>
</dl>
</li>
</ul>
<a name="getReceivedBytesCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedBytesCount</h4>
<pre>public&nbsp;long&nbsp;getReceivedBytesCount()</pre>
<div class="block">Gets received bytes count.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#getReceivedBytesCount--">getReceivedBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Received bytes count.</dd>
</dl>
</li>
</ul>
<a name="getReceivedMessagesByType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedMessagesByType</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span>&nbsp;getReceivedMessagesByType()</pre>
<div class="block">Gets received messages counts (grouped by type).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing message types and respective counts.</dd>
</dl>
</li>
</ul>
<a name="getReceivedMessagesByNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedMessagesByNode</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span>&nbsp;getReceivedMessagesByNode()</pre>
<div class="block">Gets received messages counts (grouped by node).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing sender nodes and respective counts.</dd>
</dl>
</li>
</ul>
<a name="getSentMessagesByType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentMessagesByType</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span>&nbsp;getSentMessagesByType()</pre>
<div class="block">Gets sent messages counts (grouped by type).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing message types and respective counts.</dd>
</dl>
</li>
</ul>
<a name="getSentMessagesByNode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSentMessagesByNode</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a><span class='angle_bracket'>&gt;</span>&nbsp;getSentMessagesByNode()</pre>
<div class="block">Gets sent messages counts (grouped by node).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing receiver nodes and respective counts.</dd>
</dl>
</li>
</ul>
<a name="getOutboundMessagesQueueSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutboundMessagesQueueSize</h4>
<pre>public&nbsp;int&nbsp;getOutboundMessagesQueueSize()</pre>
<div class="block">Gets outbound messages queue size.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#getOutboundMessagesQueueSize--">getOutboundMessagesQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Outbound messages queue size.</dd>
</dl>
</li>
</ul>
<a name="resetMetrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetMetrics</h4>
<pre>public&nbsp;void&nbsp;resetMetrics()</pre>
<div class="block">Resets metrics for this SPI instance.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#resetMetrics--">resetMetrics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
</dl>
</li>
</ul>
<a name="dumpNodeStatistics-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpNodeStatistics</h4>
<pre>public&nbsp;org.apache.ignite.internal.IgniteInternalFuture<span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a><span class='angle_bracket'>&gt;</span>&nbsp;dumpNodeStatistics(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Target node ID.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Future.</dd>
</dl>
</li>
</ul>
<a name="dumpStats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpStats</h4>
<pre>public&nbsp;void&nbsp;dumpStats()</pre>
<div class="block">Dumps SPI per-connection stats to logs.</div>
</li>
</ul>
<a name="getNodeAttributes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeAttributes</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&nbsp;getNodeAttributes()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called before SPI starts (before method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-"><code>IgniteSpi.spiStart(String)</code></a>
is called). It allows SPI implementation to add attributes to a local
node. Kernal collects these attributes from all SPI implementations
loaded up and then passes it to discovery SPI so that they can be
exchanged with other nodes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes--">getNodeAttributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map of local node attributes this SPI wants to add.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error.</dd>
</dl>
</li>
</ul>
<a name="boundPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>boundPort</h4>
<pre>public&nbsp;int&nbsp;boundPort()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Bound TCP server port.</dd>
</dl>
</li>
</ul>
<a name="spiStart-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
successfully kernel assumes that SPI is fully operational.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for
(<code>null</code> for default Ignite instance).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd>
</dl>
</li>
</ul>
<a name="onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextInitialized0</h4>
<pre>public&nbsp;void&nbsp;onContextInitialized0(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Method to be called in the end of onContextInitialized method. }</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>spiCtx</code> - SPI context.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of errors.</dd>
</dl>
</li>
</ul>
<a name="getSpiContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpiContext</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;getSpiContext()</pre>
<div class="block">Gets SPI context.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext--">getSpiContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SPI context.</dd>
</dl>
</li>
</ul>
<a name="spiStop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>public&nbsp;void&nbsp;spiStop()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
assumes that this SPI is finished and all resources acquired by it
are released.
<p>
<b>
Note that this method can be called at any point including during
recovery of failed start. It should make no assumptions on what state SPI
will be in when this method is called.
</b></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd>
</dl>
</li>
</ul>
<a name="onContextDestroyed0--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextDestroyed0</h4>
<pre>protected&nbsp;void&nbsp;onContextDestroyed0()</pre>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0--">onContextDestroyed0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
</dl>
</li>
</ul>
<a name="onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onClientDisconnected</h4>
<pre>public&nbsp;void&nbsp;onClientDisconnected(<a href="../../../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span>?<span class='angle_bracket'>&gt;</span>&nbsp;reconnectFut)</pre>
<div class="block">Client node disconnected callback.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected-org.apache.ignite.lang.IgniteFuture-">onClientDisconnected</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reconnectFut</code> - Future that will be completed when client reconnected.</dd>
</dl>
</li>
</ul>
<a name="onClientReconnected-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onClientReconnected</h4>
<pre>public&nbsp;void&nbsp;onClientReconnected(boolean&nbsp;clusterRestarted)</pre>
<div class="block">Client node reconnected callback.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected-boolean-">onClientReconnected</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected-boolean-">onClientReconnected</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clusterRestarted</code> - <code>True</code> if all cluster nodes restarted while client was disconnected.</dd>
</dl>
</li>
</ul>
<a name="checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkConfigurationConsistency0</h4>
<pre>protected&nbsp;void&nbsp;checkConfigurationConsistency0(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx,
<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
boolean&nbsp;starting)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Method which is called in the end of checkConfigurationConsistency() method. May be overriden in SPIs.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>spiCtx</code> - SPI context.</dd>
<dd><code>node</code> - Remote node.</dd>
<dd><code>starting</code> - If this node is starting or not.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - in case of errors.</dd>
</dl>
</li>
</ul>
<a name="sendMessage-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendMessage</h4>
<pre>public&nbsp;void&nbsp;sendMessage(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Sends given message to destination node. Note that characteristics of the
exchange such as durability, guaranteed delivery or error notification is
dependant on SPI implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html#sendMessage-org.apache.ignite.cluster.ClusterNode-T-">sendMessage</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a><span class='angle_bracket'>&gt;</span></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Destination node.</dd>
<dd><code>msg</code> - Message to send.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during sending the message.
Note that this is not guaranteed that failed communication will result
in thrown exception as this is dependant on SPI implementation.</dd>
</dl>
</li>
</ul>
<a name="checkConnection-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkConnection</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html?is-external=true" title="class or interface in java.util">BitSet</a><span class='angle_bracket'>&gt;</span>&nbsp;checkConnection(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span>&nbsp;nodes)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodes</code> - Nodes to check connection with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Result future (each bit in result BitSet contains connection status to corresponding node).</dd>
</dl>
</li>
</ul>
<a name="sendMessage-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-org.apache.ignite.lang.IgniteInClosure-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendMessage</h4>
<pre>public&nbsp;void&nbsp;sendMessage(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg,
<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a><span class='angle_bracket'>&gt;</span>&nbsp;ackC)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Sends given message to destination node. Note that characteristics of the
exchange such as durability, guaranteed delivery or error notification is
dependant on SPI implementation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Destination node.</dd>
<dd><code>msg</code> - Message to send.</dd>
<dd><code>ackC</code> - Ack closure.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during sending the message.
Note that this is not guaranteed that failed communication will result
in thrown exception as this is dependant on SPI implementation.</dd>
</dl>
</li>
</ul>
<a name="nodeAddresses-org.apache.ignite.cluster.ClusterNode-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeAddresses</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;nodeAddresses(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
boolean&nbsp;filterReachableAddresses)
throws <a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Node.</dd>
<dd><code>filterReachableAddresses</code> - Filter addresses flag.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Node addresses.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If node does not have addresses.</dd>
</dl>
</li>
</ul>
<a name="createTcpClient-org.apache.ignite.cluster.ClusterNode-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createTcpClient</h4>
<pre>protected&nbsp;org.apache.ignite.internal.util.nio.GridCommunicationClient&nbsp;createTcpClient(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
int&nbsp;connIdx)
throws <a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Establish TCP connection to remote node and returns client.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Remote node.</dd>
<dd><code>connIdx</code> - Connection index.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Client.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If failed.</dd>
</dl>
</li>
</ul>
<a name="openSocketChannel--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openSocketChannel</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;openSocketChannel()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Opens a socket channel.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new socket channel.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If an I/O error occurs.</dd>
</dl>
</li>
</ul>
<a name="processSessionCreationError-org.apache.ignite.cluster.ClusterNode-java.util.Collection-org.apache.ignite.IgniteCheckedException-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processSessionCreationError</h4>
<pre>protected&nbsp;void&nbsp;processSessionCreationError(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addrs,
<a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a>&nbsp;errs)
throws <a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Process errors if TCP/IP <code>GridNioSession</code> creation to remote node hasn't been performed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Remote node.</dd>
<dd><code>addrs</code> - Remote node addresses.</dd>
<dd><code>errs</code> - TCP client creation errors.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If failed.</dd>
</dl>
</li>
</ul>
<a name="notifyListener-java.util.UUID-org.apache.ignite.plugin.extensions.communication.Message-org.apache.ignite.lang.IgniteRunnable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>notifyListener</h4>
<pre>protected&nbsp;void&nbsp;notifyListener(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;sndId,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;msg,
<a href="../../../../../../org/apache/ignite/lang/IgniteRunnable.html" title="interface in org.apache.ignite.lang">IgniteRunnable</a>&nbsp;msgC)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sndId</code> - Sender ID.</dd>
<dd><code>msg</code> - Communication message.</dd>
<dd><code>msgC</code> - Closure to call when message processing finished.</dd>
</dl>
</li>
</ul>
<a name="simulateNodeFailure--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simulateNodeFailure</h4>
<pre>@TestOnly
public&nbsp;void&nbsp;simulateNodeFailure()</pre>
<div class="block">Stops service threads to simulate node failure.
FOR TEST PURPOSES ONLY!!!</div>
</li>
</ul>
<a name="setName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>&nbsp;setName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Sets SPI name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName-java.lang.String-">setName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - SPI name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="writeMessageType-java.nio.ByteBuffer-short-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeMessageType</h4>
<pre>public static&nbsp;void&nbsp;writeMessageType(<a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf,
short&nbsp;type)</pre>
<div class="block">Write message type to byte buffer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buf</code> - Byte buffer.</dd>
<dd><code>type</code> - Message type.</dd>
</dl>
</li>
</ul>
<a name="makeMessageType-byte-byte-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>makeMessageType</h4>
<pre>public static&nbsp;short&nbsp;makeMessageType(byte&nbsp;b0,
byte&nbsp;b1)</pre>
<div class="block">Concatenates the two parameter bytes to form a message type value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>b0</code> - The first byte.</dd>
<dd><code>b1</code> - The second byte.</dd>
</dl>
</li>
</ul>
<a name="openChannel-org.apache.ignite.cluster.ClusterNode-org.apache.ignite.plugin.extensions.communication.Message-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>openChannel</h4>
<pre>public&nbsp;org.apache.ignite.internal.IgniteInternalFuture<span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/Channel.html?is-external=true" title="class or interface in java.nio.channels">Channel</a><span class='angle_bracket'>&gt;</span>&nbsp;openChannel(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;remote,
<a href="../../../../../../org/apache/ignite/plugin/extensions/communication/Message.html" title="interface in org.apache.ignite.plugin.extensions.communication">Message</a>&nbsp;initMsg)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>remote</code> - Destination cluster node to communicate with.</dd>
<dd><code>initMsg</code> - Configuration channel attributes wrapped into the message.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The future, which will be finished on channel ready.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If fails.</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TcpCommunicationSpi.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" target="_top">Frames</a></li>
<li><a href="TcpCommunicationSpi.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2020 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.9.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; October 15 2020 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>