blob: 19ea5a1a58ab353a2f462c2698e11660042919cd [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>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:32 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>TcpCommunicationSpi (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>
<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"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TcpCommunicationSpi (Ignite 1.0.0-RC3)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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 class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.HandshakeMessage.html" title="class in org.apache.ignite.spi.communication.tcp"><span class="strong">Next 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="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="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><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/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</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="strong">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>, <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></pre>
<div class="block"><tt>GridTcpCommunicationSpi</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.
<p>
<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>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>Connection buffer flush frequency (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferFlushFrequency(long)"><code>setConnectionBufferFlushFrequency(long)</code></a>)</li>
<li>Connection buffer size (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferSize(int)"><code>setConnectionBufferSize(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><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>Message queue limit (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMessageQueueLimit(int)"><code>setMessageQueueLimit(int)</code></a>)</li>
<li>Minimum buffered message count (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMinimumBufferedMessageCount(int)"><code>setMinimumBufferedMessageCount(int)</code></a>)</li>
<li>Buffer size ratio (see <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setBufferSizeRatio(double)"><code>setBufferSizeRatio(double)</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>
GridTcpCommunicationSpi is used by default and should be explicitly configured
only if some SPI configuration parameters need to be overridden.
<pre name="code" class="java">
GridTcpCommunicationSpi commSpi = new GridTcpCommunicationSpi();
// Override local port.
commSpi.setLocalPort(4321);
GridConfiguration cfg = new GridConfiguration();
// Override default communication SPI.
cfg.setCommunicationSpi(commSpi);
// Start grid.
Ignition.start(cfg);
</pre>
<h2 class="header">Spring Example</h2>
GridTcpCommunicationSpi 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.GridTcpCommunicationSpi"&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.incubator.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="strong">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">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.HandshakeMessage.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi.HandshakeMessage</a></strong></code>
<div class="block">Handshake message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.NodeIdMessage.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi.NodeIdMessage</a></strong></code>
<div class="block">Node ID message.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.RecoveryLastReceivedMessage.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi.RecoveryLastReceivedMessage</a></strong></code>
<div class="block">Recovery acknowledgment message.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_ADDRS">ATTR_ADDRS</a></strong></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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_EXT_ADDRS">ATTR_EXT_ADDRS</a></strong></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="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_HOST_NAMES">ATTR_HOST_NAMES</a></strong></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="rowColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#ATTR_PORT">ATTR_PORT</a></strong></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 int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_ACK_SND_THRESHOLD">DFLT_ACK_SND_THRESHOLD</a></strong></code>
<div class="block">Default received messages threshold for sending ack.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_BUF_FLUSH_FREQ">DFLT_CONN_BUF_FLUSH_FREQ</a></strong></code>
<div class="block">Default value for connection buffer flush frequency (value is <tt>100</tt> ms).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_BUF_SIZE">DFLT_CONN_BUF_SIZE</a></strong></code>
<div class="block">Default value for connection buffer size (value is <tt>0</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_TIMEOUT">DFLT_CONN_TIMEOUT</a></strong></code>
<div class="block">Default connection timeout (value is <tt>1000</tt>ms).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_IDLE_CONN_TIMEOUT">DFLT_IDLE_CONN_TIMEOUT</a></strong></code>
<div class="block">Default idle connection timeout (value is <tt>30000</tt>ms).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MAX_CONN_TIMEOUT">DFLT_MAX_CONN_TIMEOUT</a></strong></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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_MSG_QUEUE_LIMIT">DFLT_MSG_QUEUE_LIMIT</a></strong></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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT">DFLT_PORT</a></strong></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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_PORT_RANGE">DFLT_PORT_RANGE</a></strong></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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_RECONNECT_CNT">DFLT_RECONNECT_CNT</a></strong></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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SELECTORS_CNT">DFLT_SELECTORS_CNT</a></strong></code>
<div class="block">Default count of selectors for TCP server equals to
<code>"Math.min(4, Runtime.getRuntime().availableProcessors())"</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_BUF_SIZE">DFLT_SOCK_BUF_SIZE</a></strong></code>
<div class="block">Default socket send and receive buffer size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_SOCK_WRITE_TIMEOUT">DFLT_SOCK_WRITE_TIMEOUT</a></strong></code>
<div class="block">Default socket write timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_TCP_NODELAY">DFLT_TCP_NODELAY</a></strong></code>
<div class="block">Default value for <code>TCP_NODELAY</code> socket option (value is <tt>true</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static byte</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#HANDSHAKE_MSG_TYPE">HANDSHAKE_MSG_TYPE</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static byte</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#NODE_ID_MSG_TYPE">NODE_ID_MSG_TYPE</a></strong></code>
<div class="block">Node ID message type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static byte</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#RECOVERY_LAST_ID_MSG_TYPE">RECOVERY_LAST_ID_MSG_TYPE</a></strong></code>&nbsp;</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></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#TcpCommunicationSpi()">TcpCommunicationSpi</a></strong>()</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#checkConfigurationConsistency0(org.apache.ignite.spi.IgniteSpiContext, org.apache.ignite.cluster.ClusterNode, boolean)">checkConfigurationConsistency0</a></strong>(<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 class="rowColor">
<td class="colFirst"><code>protected org.apache.ignite.internal.util.nio.GridCommunicationClient</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#createNioClient(org.apache.ignite.cluster.ClusterNode)">createNioClient</a></strong>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.ignite.internal.util.nio.GridCommunicationClient</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#createTcpClient(org.apache.ignite.cluster.ClusterNode)">createTcpClient</a></strong>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node)</code>
<div class="block">Establish TCP connection to remote node and returns client.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getAckSendThreshold()">getAckSendThreshold</a></strong>()</code>
<div class="block">Gets number of received messages per connection to node after which acknowledgment message is sent.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getBufferSizeRatio()">getBufferSizeRatio</a></strong>()</code>
<div class="block">Gets the buffer size ratio for this SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionBufferFlushFrequency()">getConnectionBufferFlushFrequency</a></strong>()</code>
<div class="block">Gets connection buffer flush frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectionBufferSize()">getConnectionBufferSize</a></strong>()</code>
<div class="block">Gets connection buffer size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getConnectTimeout()">getConnectTimeout</a></strong>()</code>
<div class="block">Gets connect timeout used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getIdleConnectionTimeout()">getIdleConnectionTimeout</a></strong>()</code>
<div class="block">Gets maximum idle connection time upon which idle connections
will be closed.</div>
</td>
</tr>
<tr class="rowColor">
<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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getListener()">getListener</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalAddress()">getLocalAddress</a></strong>()</code>
<div class="block">Gets local host address for socket binding.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalPort()">getLocalPort</a></strong>()</code>
<div class="block">Gets local port for socket binding.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getLocalPortRange()">getLocalPortRange</a></strong>()</code>
<div class="block">Gets maximum number of local ports tried if all previously
tried ports are occupied.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMaxConnectTimeout()">getMaxConnectTimeout</a></strong>()</code>
<div class="block">Gets maximum connect timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMessageQueueLimit()">getMessageQueueLimit</a></strong>()</code>
<div class="block">Gets message queue limit for incoming and outgoing messages.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getMinimumBufferedMessageCount()">getMinimumBufferedMessageCount</a></strong>()</code>
<div class="block">Gets the minimum number of messages for this SPI, that are buffered
prior to sending.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getNodeAttributes()">getNodeAttributes</a></strong>()</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 class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getOutboundMessagesQueueSize()">getOutboundMessagesQueueSize</a></strong>()</code>
<div class="block">Gets outbound messages queue size.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedBytesCount()">getReceivedBytesCount</a></strong>()</code>
<div class="block">Gets received bytes count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReceivedMessagesCount()">getReceivedMessagesCount</a></strong>()</code>
<div class="block">Gets received messages count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getReconnectCount()">getReconnectCount</a></strong>()</code>
<div class="block">Gets maximum number of reconnect attempts used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSelectorsCount()">getSelectorsCount</a></strong>()</code>
<div class="block">Gets count of selectors used in TCP server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentBytesCount()">getSentBytesCount</a></strong>()</code>
<div class="block">Gets sent bytes count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSentMessagesCount()">getSentMessagesCount</a></strong>()</code>
<div class="block">Gets sent messages count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketReceiveBuffer()">getSocketReceiveBuffer</a></strong>()</code>
<div class="block">Gets receive buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketSendBuffer()">getSocketSendBuffer</a></strong>()</code>
<div class="block">Gets send buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSocketWriteTimeout()">getSocketWriteTimeout</a></strong>()</code>
<div class="block">Gets socket write timeout for TCP connections.</div>
</td>
</tr>
<tr class="rowColor">
<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><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getSpiContext()">getSpiContext</a></strong>()</code>
<div class="block">Gets SPI context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#getUnacknowledgedMessagesBufferSize()">getUnacknowledgedMessagesBufferSize</a></strong>()</code>
<div class="block">Gets maximum number of stored unacknowledged messages per connection to node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#injectResources(org.apache.ignite.Ignite)">injectResources</a></strong>(<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 class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isDirectBuffer()">isDirectBuffer</a></strong>()</code>
<div class="block">Gets flag that indicates whether direct or heap allocated buffer is used.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isDirectSendBuffer()">isDirectSendBuffer</a></strong>()</code>
<div class="block">Gets flag defining whether direct send buffer should be used.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#isTcpNoDelay()">isTcpNoDelay</a></strong>()</code>
<div class="block">Gets value for <code>TCP_NODELAY</code> socket option.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><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></strong>(<a href="http://docs.oracle.com/javase/7/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 class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onContextDestroyed0()">onContextDestroyed0</a></strong>()</code>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#onContextInitialized0(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized0</a></strong>(<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#resetMetrics()">resetMetrics</a></strong>()</code>
<div class="block">Resets metrics for this SPI instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><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></strong>(<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAckSendThreshold(int)">setAckSendThreshold</a></strong>(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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setAddressResolver(org.apache.ignite.configuration.AddressResolver)">setAddressResolver</a></strong>(<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setBufferSizeRatio(double)">setBufferSizeRatio</a></strong>(double&nbsp;bufSizeRatio)</code>
<div class="block">Sets the buffer size ratio for this SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferFlushFrequency(long)">setConnectionBufferFlushFrequency</a></strong>(long&nbsp;connBufFlushFreq)</code>
<div class="block">Sets connection buffer flush frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferSize(int)">setConnectionBufferSize</a></strong>(int&nbsp;connBufSize)</code>
<div class="block">Sets connection buffer size.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectTimeout(long)">setConnectTimeout</a></strong>(long&nbsp;connTimeout)</code>
<div class="block">Sets connect timeout used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectBuffer(boolean)">setDirectBuffer</a></strong>(boolean&nbsp;directBuf)</code>
<div class="block">Sets flag to allocate direct or heap buffer in SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setDirectSendBuffer(boolean)">setDirectSendBuffer</a></strong>(boolean&nbsp;directSndBuf)</code>
<div class="block">Sets whether to use direct buffer for sending.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setIdleConnectionTimeout(long)">setIdleConnectionTimeout</a></strong>(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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setListener(org.apache.ignite.spi.communication.CommunicationListener)">setListener</a></strong>(<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 class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalAddress(java.lang.String)">setLocalAddress</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locAddr)</code>
<div class="block">Sets local host address for socket binding.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPort(int)">setLocalPort</a></strong>(int&nbsp;locPort)</code>
<div class="block">Sets local port for socket binding.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setLocalPortRange(int)">setLocalPortRange</a></strong>(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 class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMaxConnectTimeout(long)">setMaxConnectTimeout</a></strong>(long&nbsp;maxConnTimeout)</code>
<div class="block">Sets maximum connect timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMessageQueueLimit(int)">setMessageQueueLimit</a></strong>(int&nbsp;msgQueueLimit)</code>
<div class="block">Sets message queue limit for incoming and outgoing messages.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setMinimumBufferedMessageCount(int)">setMinimumBufferedMessageCount</a></strong>(int&nbsp;minBufferedMsgCnt)</code>
<div class="block">Sets the minimum number of messages for this SPI, that are buffered
prior to sending.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setReconnectCount(int)">setReconnectCount</a></strong>(int&nbsp;reconCnt)</code>
<div class="block">Sets maximum number of reconnect attempts used when establishing connection
with remote nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSelectorsCount(int)">setSelectorsCount</a></strong>(int&nbsp;selectorsCnt)</code>
<div class="block">Sets the count of selectors te be used in TCP server.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketReceiveBuffer(int)">setSocketReceiveBuffer</a></strong>(int&nbsp;sockRcvBuf)</code>
<div class="block">Sets receive buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketSendBuffer(int)">setSocketSendBuffer</a></strong>(int&nbsp;sockSndBuf)</code>
<div class="block">Sets send buffer size for sockets created or accepted by this SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setSocketWriteTimeout(long)">setSocketWriteTimeout</a></strong>(long&nbsp;sockWriteTimeout)</code>
<div class="block">Sets socket write timeout for TCP connection.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setTcpNoDelay(boolean)">setTcpNoDelay</a></strong>(boolean&nbsp;tcpNoDelay)</code>
<div class="block">Sets value for <code>TCP_NODELAY</code> socket option.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setUnacknowledgedMessagesBufferSize(int)">setUnacknowledgedMessagesBufferSize</a></strong>(int&nbsp;unackedMsgsBufSize)</code>
<div class="block">Sets maximum number of stored unacknowledged messages per connection to node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#spiStart(java.lang.String)">spiStart</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#spiStop()">spiStop</a></strong>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#toString()">toString</a></strong>()</code></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#assertParameter(boolean, java.lang.String)">assertParameter</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#getConsistentAttributeNames()">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry()">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTimeFormatted()">getUpTimeFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables()">injectables</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#setName(java.lang.String)">setName</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="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, 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>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiManagementMBean">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTimeFormatted()">getUpTimeFormatted</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="ATTR_ADDRS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_ADDRS</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> 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="strong">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="http://docs.oracle.com/javase/7/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="strong">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="http://docs.oracle.com/javase/7/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="strong">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_EXT_ADDRS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ATTR_EXT_ADDRS</h4>
<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> 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="strong">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="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="strong">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_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>30000</tt>ms).</div>
<dl><dt><span class="strong">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_CONN_BUF_FLUSH_FREQ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONN_BUF_FLUSH_FREQ</h4>
<pre>public static final&nbsp;long DFLT_CONN_BUF_FLUSH_FREQ</pre>
<div class="block">Default value for connection buffer flush frequency (value is <tt>100</tt> ms).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_CONN_BUF_FLUSH_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_CONN_BUF_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONN_BUF_SIZE</h4>
<pre>public static final&nbsp;int DFLT_CONN_BUF_SIZE</pre>
<div class="block">Default value for connection buffer size (value is <tt>0</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi.DFLT_CONN_BUF_SIZE">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="strong">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>1000</tt>ms).</div>
<dl><dt><span class="strong">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="strong">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="strong">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="strong">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.min(4, Runtime.getRuntime().availableProcessors())"</code>.</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="strong">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="strong">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_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="strong">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="strong">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="NODE_ID_MSG_TYPE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NODE_ID_MSG_TYPE</h4>
<pre>public static final&nbsp;byte NODE_ID_MSG_TYPE</pre>
<div class="block">Node ID message type.</div>
<dl><dt><span class="strong">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;byte RECOVERY_LAST_ID_MSG_TYPE</pre>
<dl><dt><span class="strong">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="blockListLast">
<li class="blockList">
<h4>HANDSHAKE_MSG_TYPE</h4>
<pre>public static final&nbsp;byte HANDSHAKE_MSG_TYPE</pre>
<dl><dt><span class="strong">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>
</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;void&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="strong">Parameters:</span></dt><dd><code>addrRslvr</code> - 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="strong">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;void&nbsp;setLocalAddress(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&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="strong">Parameters:</span></dt><dd><code>locAddr</code> - IP address. Default value is any available local
IP address.</dd></dl>
</li>
</ul>
<a name="getLocalAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocalAddress()</pre>
<div class="block">Gets local host address for socket binding.
Beside loopback address physical node could have
several other ones, but only one is assigned to grid node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getLocalAddress()">getLocalAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>locPort</code> - Port number.</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">Gets local port for socket binding.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getLocalPort()">getLocalPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>locPortRange</code> - New local port range.</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">Gets maximum number of local ports tried if all previously
tried ports are occupied.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getLocalPortRange()">getLocalPortRange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Local port range.</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;void&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="strong">Parameters:</span></dt><dd><code>idleConnTimeout</code> - Maximum idle connection time.</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">Gets maximum idle connection time upon which idle connections
will be closed.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getIdleConnectionTimeout()">getIdleConnectionTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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">Gets socket write timeout for TCP connections. If message can not be written to
socket within this time then connection is closed and reconnect is attempted.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSocketWriteTimeout()">getSocketWriteTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>sockWriteTimeout</code> - Socket write timeout for TCP connection.</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">Gets number of received messages per connection to node after which acknowledgment message is sent.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getAckSendThreshold()">getAckSendThreshold</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>ackSndThreshold</code> - Number of received messages after which acknowledgment is sent.</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">Gets 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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getUnacknowledgedMessagesBufferSize()">getUnacknowledgedMessagesBufferSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>unackedMsgsBufSize</code> - Maximum number of unacknowledged messages.</dd></dl>
</li>
</ul>
<a name="setConnectionBufferSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionBufferSize</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;void&nbsp;setConnectionBufferSize(int&nbsp;connBufSize)</pre>
<div class="block">Sets connection buffer size. If set to <code>0</code> connection buffer is disabled.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_BUF_SIZE"><code>DFLT_CONN_BUF_SIZE</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>connBufSize</code> - Connection buffer size.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#setConnectionBufferFlushFrequency(long)"><code>setConnectionBufferFlushFrequency(long)</code></a></dd></dl>
</li>
</ul>
<a name="getConnectionBufferSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionBufferSize</h4>
<pre>public&nbsp;int&nbsp;getConnectionBufferSize()</pre>
<div class="block">Gets connection buffer size.
<p>
If set to <code>0</code> connection buffer is disabled.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferSize()">getConnectionBufferSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Connection buffer size.</dd></dl>
</li>
</ul>
<a name="setConnectionBufferFlushFrequency(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionBufferFlushFrequency</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;void&nbsp;setConnectionBufferFlushFrequency(long&nbsp;connBufFlushFreq)</pre>
<div class="block">Sets connection buffer flush frequency.
<p>
Client connections to other nodes in topology use buffered output.
This frequency defines how often system will advice to flush
connection buffer.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html#DFLT_CONN_BUF_FLUSH_FREQ"><code>DFLT_CONN_BUF_FLUSH_FREQ</code></a>.
<p>
This property is used only if <a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferSize()"><code>TcpCommunicationSpiMBean.getConnectionBufferSize()</code></a> is greater than <code>0</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#setConnectionBufferFlushFrequency(long)">setConnectionBufferFlushFrequency</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>connBufFlushFreq</code> - Flush frequency.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferSize()"><code>TcpCommunicationSpiMBean.getConnectionBufferSize()</code></a></dd></dl>
</li>
</ul>
<a name="getConnectionBufferFlushFrequency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionBufferFlushFrequency</h4>
<pre>public&nbsp;long&nbsp;getConnectionBufferFlushFrequency()</pre>
<div class="block">Gets connection buffer flush frequency.
<p>
Client connections to other nodes in topology use buffered output.
This frequency defines how often system will advice to flush
connection buffer.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectionBufferFlushFrequency()">getConnectionBufferFlushFrequency</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Flush frequency.</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;void&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>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>connTimeout</code> - Connect timeout.</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">Gets connect timeout used when establishing connection
with remote nodes.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getConnectTimeout()">getConnectTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxConnTimeout</code> - Maximum connect timeout.</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getMaxConnectTimeout()">getMaxConnectTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reconCnt</code> - Maximum number of reconnection attempts.</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getReconnectCount()">getReconnectCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="http://docs.oracle.com/javase/7/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="http://docs.oracle.com/javase/7/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="strong">Parameters:</span></dt><dd><code>directBuf</code> - Flag indicates to allocate direct or heap buffer in SPI.</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#isDirectBuffer()">isDirectBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#isDirectSendBuffer()">isDirectSendBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&nbsp;setDirectSendBuffer(boolean&nbsp;directSndBuf)</pre>
<div class="block">Sets whether to use direct buffer for sending.
<p>
If not provided default is <code>false</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>directSndBuf</code> - <code>True</code> to use direct buffers for send.</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;void&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="strong">Parameters:</span></dt><dd><code>selectorsCnt</code> - Selectors count.</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">Gets count of selectors used in TCP server. Default value equals to the
number of CPUs available in the system.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSelectorsCount()">getSelectorsCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Count of selectors in TCP server.</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;void&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="strong">Parameters:</span></dt><dd><code>tcpNoDelay</code> - <code>True</code> to disable TCP delay.</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#isTcpNoDelay()">isTcpNoDelay</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>True</code> if TCP delay is disabled.</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;void&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="strong">Parameters:</span></dt><dd><code>sockRcvBuf</code> - Socket receive buffer size.</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">Gets 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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSocketReceiveBuffer()">getSocketReceiveBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>sockSndBuf</code> - Socket send buffer size.</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">Gets 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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSocketSendBuffer()">getSocketSendBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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;void&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="strong">Parameters:</span></dt><dd><code>msgQueueLimit</code> - Send queue size limit.</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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getMessageQueueLimit()">getMessageQueueLimit</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Send queue size limit.</dd></dl>
</li>
</ul>
<a name="setMinimumBufferedMessageCount(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinimumBufferedMessageCount</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;void&nbsp;setMinimumBufferedMessageCount(int&nbsp;minBufferedMsgCnt)</pre>
<div class="block">Sets the minimum number of messages for this SPI, that are buffered
prior to sending.
<p>
Defaults to either <code>512</code> or <a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT"><code>IgniteSystemProperties.IGNITE_MIN_BUFFERED_COMMUNICATION_MSG_CNT</code></a>
system property (if specified).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minBufferedMsgCnt</code> - Minimum buffered message count.</dd></dl>
</li>
</ul>
<a name="getMinimumBufferedMessageCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinimumBufferedMessageCount</h4>
<pre>public&nbsp;int&nbsp;getMinimumBufferedMessageCount()</pre>
<div class="block">Gets the minimum number of messages for this SPI, that are buffered
prior to sending.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getMinimumBufferedMessageCount()">getMinimumBufferedMessageCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Minimum buffered message count.</dd></dl>
</li>
</ul>
<a name="setBufferSizeRatio(double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBufferSizeRatio</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;void&nbsp;setBufferSizeRatio(double&nbsp;bufSizeRatio)</pre>
<div class="block">Sets the buffer size ratio for this SPI. As messages are sent,
the buffer size is adjusted using this ratio.
<p>
Defaults to either <code>0.8</code> or <a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_COMMUNICATION_BUF_RESIZE_RATIO"><code>IgniteSystemProperties.IGNITE_COMMUNICATION_BUF_RESIZE_RATIO</code></a>
system property (if specified).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>bufSizeRatio</code> - Buffer size ratio.</dd></dl>
</li>
</ul>
<a name="getBufferSizeRatio()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferSizeRatio</h4>
<pre>public&nbsp;double&nbsp;getBufferSizeRatio()</pre>
<div class="block">Gets the buffer size ratio for this SPI. As messages are sent,
the buffer size is adjusted using this ratio.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getBufferSizeRatio()">getBufferSizeRatio</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Buffer size ratio.</dd></dl>
</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><strong>Specified by:</strong></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="strong">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="strong">Returns:</span></dt><dd>Listener.</dd></dl>
</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><strong>Specified by:</strong></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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSentMessagesCount()">getSentMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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><strong>Specified by:</strong></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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getSentBytesCount()">getSentBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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><strong>Specified by:</strong></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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getReceivedMessagesCount()">getReceivedMessagesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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><strong>Specified by:</strong></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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getReceivedBytesCount()">getReceivedBytesCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Received bytes count.</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><strong>Specified by:</strong></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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html#getOutboundMessagesQueueSize()">getOutboundMessagesQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpiMBean.html" title="interface in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpiMBean</a></code></dd>
<dt><span class="strong">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><strong>Specified by:</strong></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="getNodeAttributes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeAttributes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/7/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><strong>Specified by:</strong></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><strong>Overrides:</strong></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="strong">Returns:</span></dt><dd>Map of local node attributes this SPI wants to add.</dd>
<dt><span class="strong">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="spiStart(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;gridName)
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><strong>Specified by:</strong></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="strong">Parameters:</span></dt><dd><code>gridName</code> - Name of grid instance this SPI is being started for
(<code>null</code> for default grid).</dd>
<dt><span class="strong">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><strong>Overrides:</strong></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="strong">Parameters:</span></dt><dd><code>spiCtx</code> - SPI context.</dd>
<dt><span class="strong">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><strong>Overrides:</strong></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="strong">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><strong>Specified by:</strong></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="strong">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><strong>Overrides:</strong></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="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><strong>Overrides:</strong></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="strong">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="strong">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><strong>Specified by:</strong></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="strong">Parameters:</span></dt><dd><code>node</code> - Destination node.</dd><dd><code>msg</code> - Message to send.</dd>
<dt><span class="strong">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="createNioClient(org.apache.ignite.cluster.ClusterNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createNioClient</h4>
<pre>@Nullable
protected&nbsp;org.apache.ignite.internal.util.nio.GridCommunicationClient&nbsp;createNioClient(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node)
throws <a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - Node to create client for.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Client.</dd>
<dt><span class="strong">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="createTcpClient(org.apache.ignite.cluster.ClusterNode)">
<!-- -->
</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)
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="strong">Parameters:</span></dt><dd><code>node</code> - Remote node.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Client.</dd>
<dt><span class="strong">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="http://docs.oracle.com/javase/7/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="strong">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="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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 class="aboutLanguage"><em>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.HandshakeMessage.html" title="class in org.apache.ignite.spi.communication.tcp"><span class="strong">Next 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 Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="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://incubator.apache.org/projects/ignite.html"><nobr>2015 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> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </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>Apache Ignite Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>1.0.0-RC3</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; March 24 2015 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>
</html>