blob: f4720f37a5df9ce085626888b81fde143bb78674 [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.7.0/javadoc/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" />
<!-- Generated by javadoc (version 1.7.0_80) on Mon Aug 01 20:32:32 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TcpDiscoverySpi (Ignite 1.7.0)</title>
<meta name="date" content="2016-08-01">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">
<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="TcpDiscoverySpi (Ignite 1.7.0)";
}
//-->
</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/TcpDiscoverySpi.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>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/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" target="_top">Frames</a></li>
<li><a href="TcpDiscoverySpi.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.discovery.tcp</div>
<h2 title="Class TcpDiscoverySpi" class="title">Class TcpDiscoverySpi</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.discovery.tcp.TcpDiscoverySpi</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/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>, <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</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/discovery/DiscoverySpiOrderSupport.html" title="annotation in org.apache.ignite.spi.discovery">@DiscoverySpiOrderSupport</a>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiOrderSupport.html#value()">value</a>=true)
<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiHistorySupport.html" title="annotation in org.apache.ignite.spi.discovery">@DiscoverySpiHistorySupport</a>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiHistorySupport.html#value()">value</a>=true)
public class <span class="strong">TcpDiscoverySpi</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/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>, <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></pre>
<div class="block">Discovery SPI implementation that uses TCP/IP for node discovery.
<p>
Nodes are organized in ring. So almost all network exchange (except few cases) is
done across it.
<p>
If node is configured as client node (see <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#clientMode"><code>IgniteConfiguration.clientMode</code></a>)
TcpDiscoverySpi starts in client mode as well. In this case node does not take its place in the ring,
but it connects to random node in the ring (IP taken from IP finder configured) and
use it as a router for discovery traffic.
Therefore slow client node or its shutdown will not affect whole cluster. If TcpDiscoverySpi
needs to be started in server mode regardless of <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#clientMode"><code>IgniteConfiguration.clientMode</code></a>,
<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#forceSrvMode"><code>forceSrvMode</code></a> should be set to true.
<p>
At startup SPI tries to send messages to random IP taken from
<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder"><code>TcpDiscoveryIpFinder</code></a> about self start (stops when send succeeds)
and then this info goes to coordinator. When coordinator processes join request
and issues node added messages and all other nodes then receive info about new node.
<h1 class="header">Failure Detection</h1>
Configuration defaults (see Configuration section below and
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a>) for details) are chosen to make possible for discovery
SPI work reliably on most of hardware and virtual deployments, but this has made failure detection time worse.
<p>
If it's needed to tune failure detection then it's highly recommended to do this using
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setFailureDetectionTimeout(long)"><code>IgniteConfiguration.setFailureDetectionTimeout(long)</code></a>. This failure timeout automatically controls the
following parameters: <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSocketTimeout()"><code>getSocketTimeout()</code></a>, <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAckTimeout()"><code>getAckTimeout()</code></a>, <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxAckTimeout()"><code>getMaxAckTimeout()</code></a>,
<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReconnectCount()"><code>getReconnectCount()</code></a>. If any of those parameters is set explicitly, then the failure timeout setting will be
ignored. As an example, for stable low-latency networks the failure detection timeout may be set to ~120 ms.
<p>
If it's required to perform advanced settings of failure detection and
<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is unsuitable then various <code>TcpDiscoverySpi</code>
configuration parameters may be used. As an example, for stable low-latency networks the following more aggressive
settings are recommended (which allows failure detection time ~200ms):
<ul>
<li>Heartbeat frequency (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setHeartbeatFrequency(long)"><code>setHeartbeatFrequency(long)</code></a>) - 100ms</li>
<li>Socket timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setSocketTimeout(long)"><code>setSocketTimeout(long)</code></a>) - 200ms</li>
<li>Message acknowledgement timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout(long)"><code>setAckTimeout(long)</code></a>) - 50ms</li>
</ul>
<h1 class="header">Configuration</h1>
<h2 class="header">Mandatory</h2>
There are no mandatory configuration parameters.
<h2 class="header">Optional</h2>
The following configuration parameters are optional:
<ul>
<li>IP finder to share info about nodes IP addresses
(see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinder(org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder)"><code>setIpFinder(TcpDiscoveryIpFinder)</code></a>).
See the following IP finder implementations for details on configuration:
<ul>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/sharedfs/TcpDiscoverySharedFsIpFinder.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder.sharedfs"><code>TcpDiscoverySharedFsIpFinder</code></a></li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/s3/TcpDiscoveryS3IpFinder.html"><code>TcpDiscoveryS3IpFinder</code></a></li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/jdbc/TcpDiscoveryJdbcIpFinder.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder.jdbc"><code>TcpDiscoveryJdbcIpFinder</code></a></li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/vm/TcpDiscoveryVmIpFinder.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder.vm"><code>TcpDiscoveryVmIpFinder</code></a></li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder.multicast"><code>TcpDiscoveryMulticastIpFinder</code></a> - default</li>
</ul>
</li>
</ul>
<ul>
</li>
<li>Local address (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalAddress(java.lang.String)"><code>setLocalAddress(String)</code></a>)</li>
<li>Local port to bind to (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPort(int)"><code>setLocalPort(int)</code></a>)</li>
<li>Local port range to try binding to if previous ports are in use
(see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPortRange(int)"><code>setLocalPortRange(int)</code></a>)</li>
<li>Heartbeat frequency (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setHeartbeatFrequency(long)"><code>setHeartbeatFrequency(long)</code></a>)</li>
<li>Max missed heartbeats (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxMissedHeartbeats(int)"><code>setMaxMissedHeartbeats(int)</code></a>)</li>
<li>Number of times node tries to (re)establish connection to another node
(see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setReconnectCount(int)"><code>setReconnectCount(int)</code></a>)</li>
<li>Network timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setNetworkTimeout(long)"><code>setNetworkTimeout(long)</code></a>)</li>
<li>Socket timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setSocketTimeout(long)"><code>setSocketTimeout(long)</code></a>)</li>
<li>Message acknowledgement timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout(long)"><code>setAckTimeout(long)</code></a>)</li>
<li>Maximum message acknowledgement timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxAckTimeout(long)"><code>setMaxAckTimeout(long)</code></a>)</li>
<li>Join timeout (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setJoinTimeout(long)"><code>setJoinTimeout(long)</code></a>)</li>
<li>Thread priority for threads started by SPI (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setThreadPriority(int)"><code>setThreadPriority(int)</code></a>)</li>
<li>IP finder clean frequency (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinderCleanFrequency(long)"><code>setIpFinderCleanFrequency(long)</code></a>)</li>
<li>Statistics print frequency (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setStatisticsPrintFrequency(long)"><code>setStatisticsPrintFrequency(long)</code></a></li>
<li>Force server mode (see <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setForceServerMode(boolean)"><code>setForceServerMode(boolean)</code></a></li>
</ul>
<h2 class="header">Java Example</h2>
<pre name="code" class="java">
TcpDiscoverySpi spi = new TcpDiscoverySpi();
TcpDiscoveryVmIpFinder finder =
new GridTcpDiscoveryVmIpFinder();
spi.setIpFinder(finder);
IgniteConfiguration cfg = new IgniteConfiguration();
// Override default discovery SPI.
cfg.setDiscoverySpi(spi);
// Start grid.
Ignition.start(cfg);
</pre>
<h2 class="header">Spring Example</h2>
TcpDiscoverySpi 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="discoverySpi"&gt;
&lt;bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"&gt;
&lt;property name="ipFinder"&gt;
&lt;bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder" /&gt;
&lt;/property&gt;
&lt;/bean&gt;
&lt;/property&gt;
...
&lt;/bean&gt;
</pre>
<p>
<img src="http://ignite.apache.org/images/spring-small.png">
<br>
For information about Spring framework visit <a href="http://www.springframework.org/">www.springframework.org</a></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery"><code>DiscoverySpi</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="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/discovery/tcp/TcpDiscoverySpi.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>disc.tcp.ext-addrs</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#cfgNodeId">cfgNodeId</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT">DFLT_ACK_TIMEOUT</a></strong></code>
<div class="block">Default timeout for receiving message acknowledgement in milliseconds (value is <tt>5000ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT_CLIENT">DFLT_ACK_TIMEOUT_CLIENT</a></strong></code>
<div class="block">Default timeout for receiving message acknowledgement in milliseconds (value is <tt>5000ms</tt>).</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_HEARTBEAT_FREQ">DFLT_HEARTBEAT_FREQ</a></strong></code>
<div class="block">Default heartbeat messages issuing frequency (value is <tt>2000ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_IP_FINDER_CLEAN_FREQ">DFLT_IP_FINDER_CLEAN_FREQ</a></strong></code>
<div class="block">Default IP finder clean frequency in milliseconds (value is <tt>60,000ms</tt>).</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_JOIN_TIMEOUT">DFLT_JOIN_TIMEOUT</a></strong></code>
<div class="block">Default timeout for joining topology (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/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_ACK_TIMEOUT">DFLT_MAX_ACK_TIMEOUT</a></strong></code>
<div class="block">Maximum ack timeout value for receiving message acknowledgement in milliseconds (value is <tt>600,000ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_MISSED_CLIENT_HEARTBEATS">DFLT_MAX_MISSED_CLIENT_HEARTBEATS</a></strong></code>
<div class="block">Default max heartbeats count node can miss without failing client node (value is <tt>5</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_MISSED_HEARTBEATS">DFLT_MAX_MISSED_HEARTBEATS</a></strong></code>
<div class="block">Default max heartbeats count node can miss without initiating status check (value is <tt>1</tt>).</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_NETWORK_TIMEOUT">DFLT_NETWORK_TIMEOUT</a></strong></code>
<div class="block">Default network timeout in milliseconds (value is <tt>5000ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT">DFLT_PORT</a></strong></code>
<div class="block">Default port to listen (value is <tt>47500</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/discovery/tcp/TcpDiscoverySpi.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/discovery/tcp/TcpDiscoverySpi.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 long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT">DFLT_SOCK_TIMEOUT</a></strong></code>
<div class="block">Default socket operations timeout in milliseconds (value is <tt>5000ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT_CLIENT">DFLT_SOCK_TIMEOUT_CLIENT</a></strong></code>
<div class="block">Default socket operations timeout in milliseconds (value is <tt>5000ms</tt>).</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_STATS_PRINT_FREQ">DFLT_STATS_PRINT_FREQ</a></strong></code>
<div class="block">Default statistics print frequency in milliseconds (value is <tt>0ms</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/discovery/tcp/TcpDiscoverySpi.html#DFLT_THREAD_PRI">DFLT_THREAD_PRI</a></strong></code>
<div class="block">Default value for thread priority (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/discovery/tcp/TcpDiscoverySpi.html#DFLT_TOP_HISTORY_SIZE">DFLT_TOP_HISTORY_SIZE</a></strong></code>
<div class="block">Default size of topology snapshots history.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#exchange">exchange</a></strong></code>
<div class="block">Data exchange.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#gridStartTime">gridStartTime</a></strong></code>
<div class="block">Start time of the very first grid node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#hbFreq">hbFreq</a></strong></code>
<div class="block">Heartbeat messages issuing frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.TcpDiscoveryImpl</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#impl">impl</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a>&lt;<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#incomeConnLsnrs">incomeConnLsnrs</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ipFinder">ipFinder</a></strong></code>
<div class="block">IP finder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ipFinderCleanFreq">ipFinderCleanFreq</a></strong></code>
<div class="block">IP finder clean frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#joinTimeout">joinTimeout</a></strong></code>
<div class="block">Join timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/discovery/tcp/TcpDiscoverySpi.html#locAddr">locAddr</a></strong></code>
<div class="block">Local address.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locHost">locHost</a></strong></code>
<div class="block">Local host.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNode">locNode</a></strong></code>
<div class="block">Local node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeAddrs">locNodeAddrs</a></strong></code>
<div class="block">Internal and external addresses of local node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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>&lt;<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>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeAttrs">locNodeAttrs</a></strong></code>
<div class="block">Local node attributes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeVer">locNodeVer</a></strong></code>
<div class="block">Local node version.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locPort">locPort</a></strong></code>
<div class="block">Local port which node uses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locPortRange">locPortRange</a></strong></code>
<div class="block">Local port range.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#log">log</a></strong></code>
<div class="block">Logger.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#lsnr">lsnr</a></strong></code>
<div class="block">Grid discovery listener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#marsh">marsh</a></strong></code>
<div class="block">Marshaller.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#maxMissedClientHbs">maxMissedClientHbs</a></strong></code>
<div class="block">Max heartbeats count node can miss without failing client node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#maxMissedHbs">maxMissedHbs</a></strong></code>
<div class="block">Max heartbeats count node can miss without initiating status check.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#metricsProvider">metricsProvider</a></strong></code>
<div class="block">Metrics provider.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#netTimeout">netTimeout</a></strong></code>
<div class="block">Network timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#nodeAuth">nodeAuth</a></strong></code>
<div class="block">Node authenticator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a>&lt;<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sndMsgLsnrs">sndMsgLsnrs</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sslSockFactory">sslSockFactory</a></strong></code>
<div class="block">SSL socket factory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLServerSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLServerSocketFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sslSrvSockFactory">sslSrvSockFactory</a></strong></code>
<div class="block">SSL server socket factory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryStatistics</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#stats">stats</a></strong></code>
<div class="block">Statistics.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#statsPrintFreq">statsPrintFreq</a></strong></code>
<div class="block">Statistics print frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#threadPri">threadPri</a></strong></code>
<div class="block">Thread priority for all threads started by SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#topHistSize">topHistSize</a></strong></code>
<div class="block">Size of topology snapshots history.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#gridName">gridName</a>, <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/discovery/tcp/TcpDiscoverySpi.html#TcpDiscoverySpi()">TcpDiscoverySpi</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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#addIncomeConnectionListener(org.apache.ignite.lang.IgniteInClosure)">addIncomeConnectionListener</a></strong>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#addSendMessageListener(org.apache.ignite.lang.IgniteInClosure)">addSendMessageListener</a></strong>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#authenticationFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage)">authenticationFailedError</a></strong>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#brakeConnection()">brakeConnection</a></strong>()</code>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#checkFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage)">checkFailedError</a></strong>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#clientWorkerCount()">clientWorkerCount</a></strong>()</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,byte[]&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#collectExchangeData(java.util.UUID)">collectExchangeData</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;nodeId)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#disconnect()">disconnect</a></strong>()</code>
<div class="block">Tells discovery SPI to disconnect from topology.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#dumpDebugInfo()">dumpDebugInfo</a></strong>()</code>
<div class="block">Dumps debug info using configured logger.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#duplicateIdError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage)">duplicateIdError</a></strong>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ensured(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage)">ensured</a></strong>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#failNode(java.util.UUID,%20java.lang.String)">failNode</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;nodeId,
<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;warning)</code>
<div class="block">Initiates failure of provided node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAckTimeout()">getAckTimeout</a></strong>()</code>
<div class="block">Gets message acknowledgement timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAddressResolver()">getAddressResolver</a></strong>()</code>
<div class="block">Gets address resolver.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAvgMessageProcessingTime()">getAvgMessageProcessingTime</a></strong>()</code>
<div class="block">Gets avg message processing time.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getCoordinator()">getCoordinator</a></strong>()</code>
<div class="block">Gets current coordinator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getCoordinatorSinceTimestamp()">getCoordinatorSinceTimestamp</a></strong>()</code>
<div class="block">Gets time local node has been coordinator since.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getGridStartTime()">getGridStartTime</a></strong>()</code>
<div class="block">Gets start time of the very first node in the grid.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getHeartbeatFrequency()">getHeartbeatFrequency</a></strong>()</code>
<div class="block">Gets delay between heartbeat messages sent by coordinator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getIpFinder()">getIpFinder</a></strong>()</code>
<div class="block">Gets IP finder for IP addresses sharing and storing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getIpFinderCleanFrequency()">getIpFinderCleanFrequency</a></strong>()</code>
<div class="block">Gets IP finder clean frequency.</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/discovery/tcp/TcpDiscoverySpi.html#getIpFinderFormatted()">getIpFinderFormatted</a></strong>()</code>
<div class="block">Gets <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder"><code>TcpDiscoveryIpFinder</code></a> (string representation).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getJoinTimeout()">getJoinTimeout</a></strong>()</code>
<div class="block">Gets join timeout.</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/discovery/tcp/TcpDiscoverySpi.html#getLocalAddress()">getLocalAddress</a></strong>()</code>
<div class="block">Gets local address that was set to SPI with <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalAddress(java.lang.String)"><code>setLocalAddress(String)</code></a> method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalNode()">getLocalNode</a></strong>()</code>
<div class="block">Gets local node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPort()">getLocalPort</a></strong>()</code>
<div class="block">Gets local TCP port SPI listens to.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPortRange()">getLocalPortRange</a></strong>()</code>
<div class="block">Gets local TCP port range.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxAckTimeout()">getMaxAckTimeout</a></strong>()</code>
<div class="block">Gets maximum message acknowledgement timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxMessageProcessingTime()">getMaxMessageProcessingTime</a></strong>()</code>
<div class="block">Gets max message processing time.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxMissedClientHeartbeats()">getMaxMissedClientHeartbeats</a></strong>()</code>
<div class="block">Gets max heartbeats count node can miss without failing client node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxMissedHeartbeats()">getMaxMissedHeartbeats</a></strong>()</code>
<div class="block">Gets max heartbeats count node can miss without initiating status check.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMessageWorkerQueueSize()">getMessageWorkerQueueSize</a></strong>()</code>
<div class="block">Gets message worker queue current 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/discovery/tcp/TcpDiscoverySpi.html#getNetworkTimeout()">getNetworkTimeout</a></strong>()</code>
<div class="block">Gets network timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNode(java.util.UUID)">getNode</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;nodeId)</code>
<div class="block">Gets node by ID.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesFailed()">getNodesFailed</a></strong>()</code>
<div class="block">Gets failed nodes count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesJoined()">getNodesJoined</a></strong>()</code>
<div class="block">Gets joined nodes count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesLeft()">getNodesLeft</a></strong>()</code>
<div class="block">Gets left nodes count.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getPendingMessagesDiscarded()">getPendingMessagesDiscarded</a></strong>()</code>
<div class="block">Gets pending messages discarded count.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getPendingMessagesRegistered()">getPendingMessagesRegistered</a></strong>()</code>
<div class="block">Gets pending messages registered count.</div>
</td>
</tr>
<tr class="rowColor">
<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>&lt;<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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getProcessedMessages()">getProcessedMessages</a></strong>()</code>
<div class="block">Gets processed messages counts (grouped by type).</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>&lt;<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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReceivedMessages()">getReceivedMessages</a></strong>()</code>
<div class="block">Gets received messages counts (grouped by type).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReconnectCount()">getReconnectCount</a></strong>()</code>
<div class="block">Gets number of connection attempts.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getRemoteNodes()">getRemoteNodes</a></strong>()</code>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSocketTimeout()">getSocketTimeout</a></strong>()</code>
<div class="block">Gets socket timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSpiContext()">getSpiContext</a></strong>()</code>
<div class="block">Gets SPI context.</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/discovery/tcp/TcpDiscoverySpi.html#getSpiState()">getSpiState</a></strong>()</code>
<div class="block">Gets current SPI state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getStatisticsPrintFrequency()">getStatisticsPrintFrequency</a></strong>()</code>
<div class="block">Gets statistics print frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getThreadPriority()">getThreadPriority</a></strong>()</code>
<div class="block">Gets thread priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getTopHistorySize()">getTopHistorySize</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getTotalProcessedMessages()">getTotalProcessedMessages</a></strong>()</code>
<div class="block">Gets total processed 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/discovery/tcp/TcpDiscoverySpi.html#getTotalReceivedMessages()">getTotalReceivedMessages</a></strong>()</code>
<div class="block">Gets total received messages count.</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/discovery/tcp/TcpDiscoverySpi.html#initLocalNode(int,%20boolean)">initLocalNode</a></strong>(int&nbsp;srvPort,
boolean&nbsp;addExtAddrAttr)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<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>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#injectables()">injectables</a></strong>()</code>
<div class="block">This method returns SPI internal instances that need to be injected as well.</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/discovery/tcp/TcpDiscoverySpi.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">Inject 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/discovery/tcp/TcpDiscoverySpi.html#isClientMode()">isClientMode</a></strong>()</code>
<div class="block">Whether or not discovery is started in client mode.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isClientReconnectDisabled()">isClientReconnectDisabled</a></strong>()</code>
<div class="block">If <code>true</code> client does not try to reconnect after
server detected client node failure.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isForceServerMode()">isForceServerMode</a></strong>()</code>
<div class="block">If <code>true</code> TcpDiscoverySpi will started in server mode regardless
of <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode()"><code>IgniteConfiguration.isClientMode()</code></a></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/discovery/tcp/TcpDiscoverySpi.html#onContextDestroyed0()">onContextDestroyed0</a></strong>()</code>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.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="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#onExchange(java.util.UUID,%20java.util.UUID,%20java.util.Map,%20java.lang.ClassLoader)">onExchange</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;joiningNodeID,
<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;nodeId,
<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>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,byte[]&gt;&nbsp;data,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#openSocket(java.net.InetSocketAddress,%20org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper)">openSocket</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;sockAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#openSocket(java.net.Socket,%20java.net.InetSocketAddress,%20org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper)">openSocket</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;remAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)</code>
<div class="block">Connects to remote address sending <code>U.IGNITE_HEADER</code> when connection is established.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#pingNode(java.util.UUID)">pingNode</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;nodeId)</code>
<div class="block">Pings the remote node to see if it's alive.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#readMessage(java.net.Socket,%20java.io.InputStream,%20long)">readMessage</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
long&nbsp;timeout)</code>
<div class="block">Reads message from the socket limiting read time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#readReceipt(java.net.Socket,%20long)">readReceipt</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
long&nbsp;timeout)</code>
<div class="block">Reads message delivery receipt from the socket.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#registeredAddresses()">registeredAddresses</a></strong>()</code>
<div class="block">Gets addresses registered in the IP finder, initializes addresses having no
port (or 0 port) with <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT"><code>DFLT_PORT</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#removeIncomeConnectionListener(org.apache.ignite.lang.IgniteInClosure)">removeIncomeConnectionListener</a></strong>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#removeSendMessageListener(org.apache.ignite.lang.IgniteInClosure)">removeSendMessageListener</a></strong>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#resolvedAddresses()">resolvedAddresses</a></strong>()</code>
<div class="block">Resolves addresses registered in the IP finder, removes duplicates and local host
address and returns the collection of.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sendCustomEvent(org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage)">sendCustomEvent</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiCustomMessage</a>&nbsp;msg)</code>
<div class="block">Sends custom message across the ring.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout(long)">setAckTimeout</a></strong>(long&nbsp;ackTimeout)</code>
<div class="block">Sets timeout for receiving acknowledgement for sent message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.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/discovery/tcp/TcpDiscoverySpi.html#setAuthenticator(org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator)">setAuthenticator</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a>&nbsp;auth)</code>
<div class="block">Sets discovery SPI node authenticator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setClientReconnectDisabled(boolean)">setClientReconnectDisabled</a></strong>(boolean&nbsp;clientReconnectDisabled)</code>
<div class="block">Sets client reconnect disabled flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setDataExchange(org.apache.ignite.spi.discovery.DiscoverySpiDataExchange)">setDataExchange</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a>&nbsp;exchange)</code>
<div class="block">Sets a handler for initial data exchange between Ignite nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setForceServerMode(boolean)">setForceServerMode</a></strong>(boolean&nbsp;forceSrvMode)</code>
<div class="block">Sets force server mode flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setHeartbeatFrequency(long)">setHeartbeatFrequency</a></strong>(long&nbsp;hbFreq)</code>
<div class="block">Sets delay between issuing of heartbeat messages.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinder(org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder)">setIpFinder</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a>&nbsp;ipFinder)</code>
<div class="block">Sets IP finder for IP addresses sharing and storing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinderCleanFrequency(long)">setIpFinderCleanFrequency</a></strong>(long&nbsp;ipFinderCleanFreq)</code>
<div class="block">Sets IP finder clean frequency in milliseconds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setJoinTimeout(long)">setJoinTimeout</a></strong>(long&nbsp;joinTimeout)</code>
<div class="block">Sets join 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/discovery/tcp/TcpDiscoverySpi.html#setListener(org.apache.ignite.spi.discovery.DiscoverySpiListener)">setListener</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a>&nbsp;lsnr)</code>
<div class="block">Sets a listener for discovery events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.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 IP address that discovery SPI uses.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPort(int)">setLocalPort</a></strong>(int&nbsp;locPort)</code>
<div class="block">Sets local port to listen to.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPortRange(int)">setLocalPortRange</a></strong>(int&nbsp;locPortRange)</code>
<div class="block">Range for local ports.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxAckTimeout(long)">setMaxAckTimeout</a></strong>(long&nbsp;maxAckTimeout)</code>
<div class="block">Sets maximum timeout for receiving acknowledgement for sent message.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxMissedClientHeartbeats(int)">setMaxMissedClientHeartbeats</a></strong>(int&nbsp;maxMissedClientHbs)</code>
<div class="block">Sets max heartbeats count node can miss without failing client node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxMissedHeartbeats(int)">setMaxMissedHeartbeats</a></strong>(int&nbsp;maxMissedHbs)</code>
<div class="block">Sets max heartbeats count node can miss without initiating status check.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMetricsProvider(org.apache.ignite.spi.discovery.DiscoveryMetricsProvider)">setMetricsProvider</a></strong>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a>&nbsp;metricsProvider)</code>
<div class="block">Sets discovery metrics provider.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setNetworkTimeout(long)">setNetworkTimeout</a></strong>(long&nbsp;netTimeout)</code>
<div class="block">Sets maximum network timeout to use for network operations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setNodeAttributes(java.util.Map,%20org.apache.ignite.lang.IgniteProductVersion)">setNodeAttributes</a></strong>(<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>&lt;<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>&gt;&nbsp;attrs,
<a href="../../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;ver)</code>
<div class="block">Sets node attributes and node version which will be distributed in grid during
join process.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setReconnectCount(int)">setReconnectCount</a></strong>(int&nbsp;reconCnt)</code>
<div class="block">Number of times node tries to (re)establish connection to another node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setSocketTimeout(long)">setSocketTimeout</a></strong>(long&nbsp;sockTimeout)</code>
<div class="block">Sets socket operations timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setStatisticsPrintFrequency(long)">setStatisticsPrintFrequency</a></strong>(long&nbsp;statsPrintFreq)</code>
<div class="block">Sets statistics print frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setThreadPriority(int)">setThreadPriority</a></strong>(int&nbsp;threadPri)</code>
<div class="block">Sets thread priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setTopHistorySize(int)">setTopHistorySize</a></strong>(int&nbsp;topHistSize)</code>
<div class="block">Sets size of topology snapshots history.</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/discovery/tcp/TcpDiscoverySpi.html#simulateNodeFailure()">simulateNodeFailure</a></strong>()</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.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="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#spiStop()">spiStop</a></strong>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#toString()">toString</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#waitForClientMessagePrecessed()">waitForClientMessagePrecessed</a></strong>()</code>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket(java.net.Socket,%20java.io.OutputStream,%20org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage,%20long)">writeToSocket</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
long&nbsp;timeout)</code>
<div class="block">Writes message to the socket.</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/discovery/tcp/TcpDiscoverySpi.html#writeToSocket(java.net.Socket,%20org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage,%20byte[],%20long)">writeToSocket</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
byte[]&nbsp;data,
long&nbsp;timeout)</code>
<div class="block">Writes message to the socket.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket(java.net.Socket,%20org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage,%20long)">writeToSocket</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
long&nbsp;timeout)</code>
<div class="block">Writes message to the socket.</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/discovery/tcp/TcpDiscoverySpi.html#writeToSocket(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage,%20java.net.Socket,%20int,%20long)">writeToSocket</a></strong>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
int&nbsp;res,
long&nbsp;timeout)</code>
<div class="block">Writes response to the socket.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#addTimeoutObject(org.apache.ignite.spi.IgniteSpiTimeoutObject)">addTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter(boolean,%20java.lang.String)">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0(org.apache.ignite.spi.IgniteSpiContext,%20org.apache.ignite.cluster.ClusterNode,%20boolean)">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo(java.lang.String,%20java.lang.Object)">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName(java.lang.String)">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout()">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled()">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled(boolean)">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames()">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry()">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#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#getNodeAttributes()">getNodeAttributes</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#initFailureDetectionTimeout()">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#isNodeStopping()">isNodeStopping</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onBeforeStart()">onBeforeStart</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onClientReconnected(boolean)">onClientReconnected</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,%20T,%20java.lang.Class)">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject(org.apache.ignite.spi.IgniteSpiTimeoutObject)">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName(java.lang.String)">setName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started()">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo()">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch()">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo()">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean()">unregisterMBean</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="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,%20int)" 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#getNodeAttributes()">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">onClientDisconnected</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected(boolean)">onClientReconnected</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_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>disc.tcp.ext-addrs</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.ATTR_EXT_ADDRS">Constant Field Values</a></dd></dl>
</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>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_PORT_RANGE">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 to listen (value is <tt>47500</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_PORT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_JOIN_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_JOIN_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_JOIN_TIMEOUT</pre>
<div class="block">Default timeout for joining topology (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.discovery.tcp.TcpDiscoverySpi.DFLT_JOIN_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_NETWORK_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_NETWORK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_NETWORK_TIMEOUT</pre>
<div class="block">Default network timeout in milliseconds (value is <tt>5000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_NETWORK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_THREAD_PRI">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_THREAD_PRI</h4>
<pre>public static final&nbsp;int DFLT_THREAD_PRI</pre>
<div class="block">Default value for thread priority (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.discovery.tcp.TcpDiscoverySpi.DFLT_THREAD_PRI">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_HEARTBEAT_FREQ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_HEARTBEAT_FREQ</h4>
<pre>public static final&nbsp;long DFLT_HEARTBEAT_FREQ</pre>
<div class="block">Default heartbeat messages issuing frequency (value is <tt>2000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_HEARTBEAT_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_TOP_HISTORY_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_TOP_HISTORY_SIZE</h4>
<pre>public static final&nbsp;int DFLT_TOP_HISTORY_SIZE</pre>
<div class="block">Default size of topology snapshots history.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_TOP_HISTORY_SIZE">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SOCK_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SOCK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_SOCK_TIMEOUT</pre>
<div class="block">Default socket operations timeout in milliseconds (value is <tt>5000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_SOCK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_ACK_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_ACK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_ACK_TIMEOUT</pre>
<div class="block">Default timeout for receiving message acknowledgement in milliseconds (value is <tt>5000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_ACK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_SOCK_TIMEOUT_CLIENT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SOCK_TIMEOUT_CLIENT</h4>
<pre>public static final&nbsp;long DFLT_SOCK_TIMEOUT_CLIENT</pre>
<div class="block">Default socket operations timeout in milliseconds (value is <tt>5000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_SOCK_TIMEOUT_CLIENT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_ACK_TIMEOUT_CLIENT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_ACK_TIMEOUT_CLIENT</h4>
<pre>public static final&nbsp;long DFLT_ACK_TIMEOUT_CLIENT</pre>
<div class="block">Default timeout for receiving message acknowledgement in milliseconds (value is <tt>5000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_ACK_TIMEOUT_CLIENT">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.discovery.tcp.TcpDiscoverySpi.DFLT_RECONNECT_CNT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_MISSED_HEARTBEATS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_MISSED_HEARTBEATS</h4>
<pre>public static final&nbsp;int DFLT_MAX_MISSED_HEARTBEATS</pre>
<div class="block">Default max heartbeats count node can miss without initiating status check (value is <tt>1</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_MAX_MISSED_HEARTBEATS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_MISSED_CLIENT_HEARTBEATS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_MISSED_CLIENT_HEARTBEATS</h4>
<pre>public static final&nbsp;int DFLT_MAX_MISSED_CLIENT_HEARTBEATS</pre>
<div class="block">Default max heartbeats count node can miss without failing client node (value is <tt>5</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_MAX_MISSED_CLIENT_HEARTBEATS">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_IP_FINDER_CLEAN_FREQ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_IP_FINDER_CLEAN_FREQ</h4>
<pre>public static final&nbsp;long DFLT_IP_FINDER_CLEAN_FREQ</pre>
<div class="block">Default IP finder clean frequency in milliseconds (value is <tt>60,000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_IP_FINDER_CLEAN_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_STATS_PRINT_FREQ">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_STATS_PRINT_FREQ</h4>
<pre>public static final&nbsp;long DFLT_STATS_PRINT_FREQ</pre>
<div class="block">Default statistics print frequency in milliseconds (value is <tt>0ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_STATS_PRINT_FREQ">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="DFLT_MAX_ACK_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_MAX_ACK_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_MAX_ACK_TIMEOUT</pre>
<div class="block">Maximum ack timeout value for receiving message acknowledgement in milliseconds (value is <tt>600,000ms</tt>).</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_MAX_ACK_TIMEOUT">Constant Field Values</a></dd></dl>
</li>
</ul>
<a name="locAddr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locAddr</h4>
<pre>protected&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> locAddr</pre>
<div class="block">Local address.</div>
</li>
</ul>
<a name="ipFinder">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ipFinder</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a> ipFinder</pre>
<div class="block">IP finder.</div>
</li>
</ul>
<a name="netTimeout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>netTimeout</h4>
<pre>protected&nbsp;long netTimeout</pre>
<div class="block">Network timeout.</div>
</li>
</ul>
<a name="joinTimeout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>joinTimeout</h4>
<pre>protected&nbsp;long joinTimeout</pre>
<div class="block">Join timeout.</div>
</li>
</ul>
<a name="threadPri">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>threadPri</h4>
<pre>protected&nbsp;int threadPri</pre>
<div class="block">Thread priority for all threads started by SPI.</div>
</li>
</ul>
<a name="hbFreq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hbFreq</h4>
<pre>protected&nbsp;long hbFreq</pre>
<div class="block">Heartbeat messages issuing frequency.</div>
</li>
</ul>
<a name="topHistSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>topHistSize</h4>
<pre>protected&nbsp;int topHistSize</pre>
<div class="block">Size of topology snapshots history.</div>
</li>
</ul>
<a name="lsnr">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lsnr</h4>
<pre>protected volatile&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a> lsnr</pre>
<div class="block">Grid discovery listener.</div>
</li>
</ul>
<a name="exchange">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>exchange</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a> exchange</pre>
<div class="block">Data exchange.</div>
</li>
</ul>
<a name="metricsProvider">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricsProvider</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a> metricsProvider</pre>
<div class="block">Metrics provider.</div>
</li>
</ul>
<a name="locNodeAttrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locNodeAttrs</h4>
<pre>protected&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>&lt;<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>&gt; locNodeAttrs</pre>
<div class="block">Local node attributes.</div>
</li>
</ul>
<a name="locNodeVer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locNodeVer</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a> locNodeVer</pre>
<div class="block">Local node version.</div>
</li>
</ul>
<a name="locNode">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locNode</h4>
<pre>protected&nbsp;org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode locNode</pre>
<div class="block">Local node.</div>
</li>
</ul>
<a name="cfgNodeId">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cfgNodeId</h4>
<pre>protected&nbsp;<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> cfgNodeId</pre>
</li>
</ul>
<a name="locHost">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locHost</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a> locHost</pre>
<div class="block">Local host.</div>
</li>
</ul>
<a name="locNodeAddrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locNodeAddrs</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt; locNodeAddrs</pre>
<div class="block">Internal and external addresses of local node.</div>
</li>
</ul>
<a name="gridStartTime">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>gridStartTime</h4>
<pre>protected volatile&nbsp;long gridStartTime</pre>
<div class="block">Start time of the very first grid node.</div>
</li>
</ul>
<a name="marsh">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marsh</h4>
<pre>protected final&nbsp;<a href="../../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a> marsh</pre>
<div class="block">Marshaller.</div>
</li>
</ul>
<a name="stats">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stats</h4>
<pre>protected final&nbsp;org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryStatistics stats</pre>
<div class="block">Statistics.</div>
</li>
</ul>
<a name="locPort">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locPort</h4>
<pre>protected&nbsp;int locPort</pre>
<div class="block">Local port which node uses.</div>
</li>
</ul>
<a name="locPortRange">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>locPortRange</h4>
<pre>protected&nbsp;int locPortRange</pre>
<div class="block">Local port range.</div>
</li>
</ul>
<a name="statsPrintFreq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>statsPrintFreq</h4>
<pre>protected&nbsp;long statsPrintFreq</pre>
<div class="block">Statistics print frequency.</div>
</li>
</ul>
<a name="maxMissedHbs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxMissedHbs</h4>
<pre>protected&nbsp;int maxMissedHbs</pre>
<div class="block">Max heartbeats count node can miss without initiating status check.</div>
</li>
</ul>
<a name="maxMissedClientHbs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>maxMissedClientHbs</h4>
<pre>protected&nbsp;int maxMissedClientHbs</pre>
<div class="block">Max heartbeats count node can miss without failing client node.</div>
</li>
</ul>
<a name="ipFinderCleanFreq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ipFinderCleanFreq</h4>
<pre>protected&nbsp;long ipFinderCleanFreq</pre>
<div class="block">IP finder clean frequency.</div>
</li>
</ul>
<a name="nodeAuth">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodeAuth</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a> nodeAuth</pre>
<div class="block">Node authenticator.</div>
</li>
</ul>
<a name="sslSrvSockFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslSrvSockFactory</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLServerSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLServerSocketFactory</a> sslSrvSockFactory</pre>
<div class="block">SSL server socket factory.</div>
</li>
</ul>
<a name="sslSockFactory">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslSockFactory</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLSocketFactory.html?is-external=true" title="class or interface in javax.net.ssl">SSLSocketFactory</a> sslSockFactory</pre>
<div class="block">SSL socket factory.</div>
</li>
</ul>
<a name="sndMsgLsnrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sndMsgLsnrs</h4>
<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a>&lt;<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&gt; sndMsgLsnrs</pre>
</li>
</ul>
<a name="incomeConnLsnrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incomeConnLsnrs</h4>
<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a>&lt;<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&gt; incomeConnLsnrs</pre>
</li>
</ul>
<a name="log">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre><a href="../../../../../../org/apache/ignite/resources/LoggerResource.html" title="annotation in org.apache.ignite.resources">@LoggerResource</a>
protected&nbsp;<a href="../../../../../../org/apache/ignite/IgniteLogger.html" title="interface in org.apache.ignite">IgniteLogger</a> log</pre>
<div class="block">Logger.</div>
</li>
</ul>
<a name="impl">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>impl</h4>
<pre>protected&nbsp;org.apache.ignite.spi.discovery.tcp.TcpDiscoveryImpl impl</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TcpDiscoverySpi()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TcpDiscoverySpi</h4>
<pre>public&nbsp;TcpDiscoverySpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getSpiState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpiState</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;getSpiState()</pre>
<div class="block">Gets current SPI state.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getSpiState()">getSpiState</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Current SPI state.</dd></dl>
</li>
</ul>
<a name="getMessageWorkerQueueSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageWorkerQueueSize</h4>
<pre>public&nbsp;int&nbsp;getMessageWorkerQueueSize()</pre>
<div class="block">Gets message worker queue current size.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getMessageWorkerQueueSize()">getMessageWorkerQueueSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Message worker queue current size.</dd></dl>
</li>
</ul>
<a name="getCoordinator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCoordinator</h4>
<pre>@Nullable
public&nbsp;<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;getCoordinator()</pre>
<div class="block">Gets current coordinator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getCoordinator()">getCoordinator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Gets current coordinator.</dd></dl>
</li>
</ul>
<a name="getRemoteNodes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteNodes</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;&nbsp;getRemoteNodes()</pre>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getRemoteNodes()">getRemoteNodes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Collection of remote nodes.</dd></dl>
</li>
</ul>
<a name="getNode(java.util.UUID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode</h4>
<pre>@Nullable
public&nbsp;<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getNode(<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;nodeId)</pre>
<div class="block">Gets node by ID.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getNode(java.util.UUID)">getNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - Node ID.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Node with given ID or <code>null</code> if node is not found.</dd></dl>
</li>
</ul>
<a name="pingNode(java.util.UUID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pingNode</h4>
<pre>public&nbsp;boolean&nbsp;pingNode(<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;nodeId)</pre>
<div class="block">Pings the remote node to see if it's alive.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#pingNode(java.util.UUID)">pingNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - Node Id.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if node alive, <code>false</code> otherwise.</dd></dl>
</li>
</ul>
<a name="disconnect()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disconnect</h4>
<pre>public&nbsp;void&nbsp;disconnect()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Tells discovery SPI to disconnect from topology. This is very close to calling
<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop()"><code>IgniteSpi.spiStop()</code></a> with accounting that it is not a full stop,
but disconnect due to segmentation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#disconnect()">disconnect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</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> - If any error occurs.</dd></dl>
</li>
</ul>
<a name="setAuthenticator(org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAuthenticator</h4>
<pre>public&nbsp;void&nbsp;setAuthenticator(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiNodeAuthenticator.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiNodeAuthenticator</a>&nbsp;auth)</pre>
<div class="block">Sets discovery SPI node authenticator. This method is called before SPI start() method.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setAuthenticator(org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator)">setAuthenticator</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>auth</code> - Discovery SPI authenticator.</dd></dl>
</li>
</ul>
<a name="sendCustomEvent(org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendCustomEvent</h4>
<pre>public&nbsp;void&nbsp;sendCustomEvent(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiCustomMessage.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiCustomMessage</a>&nbsp;msg)
throws <a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Sends custom message across the ring.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#sendCustomEvent(org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage)">sendCustomEvent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Custom message.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - if failed to marshal evt.</dd></dl>
</li>
</ul>
<a name="failNode(java.util.UUID, java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failNode</h4>
<pre>public&nbsp;void&nbsp;failNode(<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;nodeId,
@Nullable
<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;warning)</pre>
<div class="block">Initiates failure of provided node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#failNode(java.util.UUID,%20java.lang.String)">failNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - Node ID.</dd><dd><code>warning</code> - Warning to be shown on all cluster nodes.</dd></dl>
</li>
</ul>
<a name="dumpDebugInfo()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dumpDebugInfo</h4>
<pre>public&nbsp;void&nbsp;dumpDebugInfo()</pre>
<div class="block">Dumps debug info using configured logger.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#dumpDebugInfo()">dumpDebugInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
</dl>
</li>
</ul>
<a name="isClientMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClientMode</h4>
<pre>public&nbsp;boolean&nbsp;isClientMode()</pre>
<div class="block">Whether or not discovery is started in client mode.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#isClientMode()">isClientMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#isClientMode()">isClientMode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if node is in client mode.</dd></dl>
</li>
</ul>
<a name="isForceServerMode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isForceServerMode</h4>
<pre>public&nbsp;boolean&nbsp;isForceServerMode()</pre>
<div class="block">If <code>true</code> TcpDiscoverySpi will started in server mode regardless
of <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode()"><code>IgniteConfiguration.isClientMode()</code></a></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>forceServerMode flag.</dd></dl>
</li>
</ul>
<a name="setForceServerMode(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setForceServerMode</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setForceServerMode(boolean&nbsp;forceSrvMode)</pre>
<div class="block">Sets force server mode flag.
<p>
If <code>true</code> TcpDiscoverySpi is started in server mode regardless
of <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#isClientMode()"><code>IgniteConfiguration.isClientMode()</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>forceSrvMode</code> - forceServerMode flag.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="isClientReconnectDisabled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClientReconnectDisabled</h4>
<pre>public&nbsp;boolean&nbsp;isClientReconnectDisabled()</pre>
<div class="block">If <code>true</code> client does not try to reconnect after
server detected client node failure.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Client reconnect disabled flag.</dd></dl>
</li>
</ul>
<a name="setClientReconnectDisabled(boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClientReconnectDisabled</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;setClientReconnectDisabled(boolean&nbsp;clientReconnectDisabled)</pre>
<div class="block">Sets client reconnect disabled flag.
<p>
If <code>true</code> client does not try to reconnect after
server detected client node failure.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clientReconnectDisabled</code> - Client reconnect disabled flag.</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">Inject resources</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources(org.apache.ignite.Ignite)">injectResources</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="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;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&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 IP address that discovery SPI uses.
<p>
If not provided, by default a first found non-loopback address
will be used. If there is no non-loopback address available,
then <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html?is-external=true#getLocalHost()" title="class or interface in java.net"><code>InetAddress.getLocalHost()</code></a> will be used.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>locAddr</code> - IP address.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getLocalAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>public&nbsp;<a href="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 address that was set to SPI with <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalAddress(java.lang.String)"><code>setLocalAddress(String)</code></a> method.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>local address.</dd></dl>
</li>
</ul>
<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="getAddressResolver()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddressResolver</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;getAddressResolver()</pre>
<div class="block">Gets address resolver.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Address resolver.</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 number of connection attempts.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getReconnectCount()">getReconnectCount</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of connection attempts.</dd></dl>
</li>
</ul>
<a name="setReconnectCount(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReconnectCount</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setReconnectCount(int&nbsp;reconCnt)</pre>
<div class="block">Number of times node tries to (re)establish connection to another node.
<p>
Note that SPI implementation will increase <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ackTimeout"><code>ackTimeout</code></a> by factor 2
on every retry.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_RECONNECT_CNT"><code>DFLT_RECONNECT_CNT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reconCnt</code> - Number of retries during message sending.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout(long)"><code>setAckTimeout(long)</code></a></dd></dl>
</li>
</ul>
<a name="getMaxAckTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxAckTimeout</h4>
<pre>public&nbsp;long&nbsp;getMaxAckTimeout()</pre>
<div class="block">Gets maximum message acknowledgement timeout.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getMaxAckTimeout()">getMaxAckTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum message acknowledgement timeout.</dd></dl>
</li>
</ul>
<a name="setMaxAckTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxAckTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setMaxAckTimeout(long&nbsp;maxAckTimeout)</pre>
<div class="block">Sets maximum timeout for receiving acknowledgement for sent message.
<p>
If acknowledgement is not received within this timeout, sending is considered as failed
and SPI tries to repeat message sending. Every time SPI retries messing sending, ack
timeout will be increased. If no acknowledgement is received and <code>maxAckTimeout</code>
is reached, then the process of message sending is considered as failed.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_ACK_TIMEOUT"><code>DFLT_MAX_ACK_TIMEOUT</code></a>.
<p>
Affected server nodes only.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxAckTimeout</code> - Maximum acknowledgement timeout.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getLocalPort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPort</h4>
<pre>public&nbsp;int&nbsp;getLocalPort()</pre>
<div class="block">Gets local TCP port SPI listens to.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getLocalPort()">getLocalPort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Local port range.</dd></dl>
</li>
</ul>
<a name="setLocalPort(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalPort</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setLocalPort(int&nbsp;locPort)</pre>
<div class="block">Sets local port to listen to.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT"><code>DFLT_PORT</code></a>.
<p>
Affected server nodes only.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>locPort</code> - Local port to bind.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getLocalPortRange()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPortRange</h4>
<pre>public&nbsp;int&nbsp;getLocalPortRange()</pre>
<div class="block">Gets local TCP port range.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getLocalPortRange()">getLocalPortRange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Local port range.</dd></dl>
</li>
</ul>
<a name="setLocalPortRange(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalPortRange</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setLocalPortRange(int&nbsp;locPortRange)</pre>
<div class="block">Range for local ports. Local node will try to bind on first available port
starting from <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPort()"><code>getLocalPort()</code></a> up until
<tt><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPort()"><code>getLocalPort()</code></a> <code>+ locPortRange</code></tt>.
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/discovery/tcp/TcpDiscoverySpi.html#setLocalPort(int)"><code>setLocalPort(int)</code></a> method and fail if binding to this port did not succeed.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT_RANGE"><code>DFLT_PORT_RANGE</code></a>.
<p>
Affected server nodes only.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>locPortRange</code> - Local port range to bind.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getMaxMissedHeartbeats()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxMissedHeartbeats</h4>
<pre>public&nbsp;int&nbsp;getMaxMissedHeartbeats()</pre>
<div class="block">Gets max heartbeats count node can miss without initiating status check.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getMaxMissedHeartbeats()">getMaxMissedHeartbeats</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Max missed heartbeats.</dd></dl>
</li>
</ul>
<a name="setMaxMissedHeartbeats(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxMissedHeartbeats</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setMaxMissedHeartbeats(int&nbsp;maxMissedHbs)</pre>
<div class="block">Sets max heartbeats count node can miss without initiating status check.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_MISSED_HEARTBEATS"><code>DFLT_MAX_MISSED_HEARTBEATS</code></a>.
<p>
Affected server nodes only.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxMissedHbs</code> - Max missed heartbeats.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getMaxMissedClientHeartbeats()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxMissedClientHeartbeats</h4>
<pre>public&nbsp;int&nbsp;getMaxMissedClientHeartbeats()</pre>
<div class="block">Gets max heartbeats count node can miss without failing client node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getMaxMissedClientHeartbeats()">getMaxMissedClientHeartbeats</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Max missed client heartbeats.</dd></dl>
</li>
</ul>
<a name="setMaxMissedClientHeartbeats(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxMissedClientHeartbeats</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setMaxMissedClientHeartbeats(int&nbsp;maxMissedClientHbs)</pre>
<div class="block">Sets max heartbeats count node can miss without failing client node.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_MISSED_CLIENT_HEARTBEATS"><code>DFLT_MAX_MISSED_CLIENT_HEARTBEATS</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxMissedClientHbs</code> - Max missed client heartbeats.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getStatisticsPrintFrequency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatisticsPrintFrequency</h4>
<pre>public&nbsp;long&nbsp;getStatisticsPrintFrequency()</pre>
<div class="block">Gets statistics print frequency.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getStatisticsPrintFrequency()">getStatisticsPrintFrequency</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Statistics print frequency in milliseconds.</dd></dl>
</li>
</ul>
<a name="setStatisticsPrintFrequency(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStatisticsPrintFrequency</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setStatisticsPrintFrequency(long&nbsp;statsPrintFreq)</pre>
<div class="block">Sets statistics print frequency.
<p>
If not set default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_STATS_PRINT_FREQ"><code>DFLT_STATS_PRINT_FREQ</code></a>.
0 indicates that no print is required. If value is greater than 0 and log is
not quiet then statistics are printed out with INFO level.
<p>
This may be very helpful for tracing topology problems.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>statsPrintFreq</code> - Statistics print frequency in milliseconds.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getIpFinderCleanFrequency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIpFinderCleanFrequency</h4>
<pre>public&nbsp;long&nbsp;getIpFinderCleanFrequency()</pre>
<div class="block">Gets IP finder clean frequency.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getIpFinderCleanFrequency()">getIpFinderCleanFrequency</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>IP finder clean frequency.</dd></dl>
</li>
</ul>
<a name="setIpFinderCleanFrequency(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIpFinderCleanFrequency</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setIpFinderCleanFrequency(long&nbsp;ipFinderCleanFreq)</pre>
<div class="block">Sets IP finder clean frequency in milliseconds.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_IP_FINDER_CLEAN_FREQ"><code>DFLT_IP_FINDER_CLEAN_FREQ</code></a>
<p>
Affected server nodes only.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ipFinderCleanFreq</code> - IP finder clean frequency.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getIpFinder()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIpFinder</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a>&nbsp;getIpFinder()</pre>
<div class="block">Gets IP finder for IP addresses sharing and storing.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>IP finder for IP addresses sharing and storing.</dd></dl>
</li>
</ul>
<a name="setIpFinder(org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIpFinder</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setIpFinder(<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder">TcpDiscoveryIpFinder</a>&nbsp;ipFinder)</pre>
<div class="block">Sets IP finder for IP addresses sharing and storing.
<p>
If not provided <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/multicast/TcpDiscoveryMulticastIpFinder.html" title="class in org.apache.ignite.spi.discovery.tcp.ipfinder.multicast"><code>TcpDiscoveryMulticastIpFinder</code></a> will
be used by default.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ipFinder</code> - IP finder.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setSocketTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSocketTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setSocketTimeout(long&nbsp;sockTimeout)</pre>
<div class="block">Sets socket operations timeout. This timeout is used to limit connection time and
write-to-socket time.
<p>
Note that when running Ignite on Amazon EC2, socket timeout must be set to a value
significantly greater than the default (e.g. to <code>30000</code>).
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT"><code>DFLT_SOCK_TIMEOUT</code></a> or <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT_CLIENT"><code>DFLT_SOCK_TIMEOUT_CLIENT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sockTimeout</code> - Socket connection timeout.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setAckTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAckTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setAckTimeout(long&nbsp;ackTimeout)</pre>
<div class="block">Sets timeout for receiving acknowledgement for sent message.
<p>
If acknowledgement is not received within this timeout, sending is considered as failed
and SPI tries to repeat message sending.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT"><code>DFLT_ACK_TIMEOUT</code></a> or <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT_CLIENT"><code>DFLT_ACK_TIMEOUT_CLIENT</code></a>.
<p>
When this property is explicitly set <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout()"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> is ignored.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ackTimeout</code> - Acknowledgement timeout.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setNetworkTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNetworkTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setNetworkTimeout(long&nbsp;netTimeout)</pre>
<div class="block">Sets maximum network timeout to use for network operations.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_NETWORK_TIMEOUT"><code>DFLT_NETWORK_TIMEOUT</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>netTimeout</code> - Network timeout.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getJoinTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJoinTimeout</h4>
<pre>public&nbsp;long&nbsp;getJoinTimeout()</pre>
<div class="block">Gets join timeout.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getJoinTimeout()">getJoinTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Join timeout.</dd></dl>
</li>
</ul>
<a name="setJoinTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setJoinTimeout</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setJoinTimeout(long&nbsp;joinTimeout)</pre>
<div class="block">Sets join timeout.
<p>
If non-shared IP finder is used and node fails to connect to
any address from IP finder, node keeps trying to join within this
timeout. If all addresses are still unresponsive, exception is thrown
and node startup fails.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_JOIN_TIMEOUT"><code>DFLT_JOIN_TIMEOUT</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>joinTimeout</code> - Join timeout (<code>0</code> means wait forever).</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html#isShared()"><code>TcpDiscoveryIpFinder.isShared()</code></a></dd></dl>
</li>
</ul>
<a name="setThreadPriority(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setThreadPriority</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setThreadPriority(int&nbsp;threadPri)</pre>
<div class="block">Sets thread priority. All threads within SPI will be started with it.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_THREAD_PRI"><code>DFLT_THREAD_PRI</code></a></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>threadPri</code> - Thread priority.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setHeartbeatFrequency(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHeartbeatFrequency</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setHeartbeatFrequency(long&nbsp;hbFreq)</pre>
<div class="block">Sets delay between issuing of heartbeat messages. SPI sends heartbeat messages
in configurable time interval to other nodes to notify them about its state.
<p>
If not provided, default value is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_HEARTBEAT_FREQ"><code>DFLT_HEARTBEAT_FREQ</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hbFreq</code> - Heartbeat frequency in milliseconds.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getTopHistorySize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTopHistorySize</h4>
<pre>public&nbsp;long&nbsp;getTopHistorySize()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Size of topology snapshots history.</dd></dl>
</li>
</ul>
<a name="setTopHistorySize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTopHistorySize</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setTopHistorySize(int&nbsp;topHistSize)</pre>
<div class="block">Sets size of topology snapshots history. Specified size should be greater than or equal to default size
<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_TOP_HISTORY_SIZE"><code>DFLT_TOP_HISTORY_SIZE</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>topHistSize</code> - Size of topology snapshots history.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setNodeAttributes(java.util.Map, org.apache.ignite.lang.IgniteProductVersion)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setNodeAttributes</h4>
<pre>public&nbsp;void&nbsp;setNodeAttributes(<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>&lt;<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>&gt;&nbsp;attrs,
<a href="../../../../../../org/apache/ignite/lang/IgniteProductVersion.html" title="class in org.apache.ignite.lang">IgniteProductVersion</a>&nbsp;ver)</pre>
<div class="block">Sets node attributes and node version which will be distributed in grid during
join process. Note that these attributes cannot be changed and set only once.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setNodeAttributes(java.util.Map,%20org.apache.ignite.lang.IgniteProductVersion)">setNodeAttributes</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>attrs</code> - Map of node attributes.</dd><dd><code>ver</code> - Product version.</dd></dl>
</li>
</ul>
<a name="initLocalNode(int, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initLocalNode</h4>
<pre>protected&nbsp;void&nbsp;initLocalNode(int&nbsp;srvPort,
boolean&nbsp;addExtAddrAttr)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>srvPort</code> - Server port.</dd><dd><code>addExtAddrAttr</code> - If <code>true</code> adds <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ATTR_EXT_ADDRS"><code>ATTR_EXT_ADDRS</code></a> attribute.</dd></dl>
</li>
</ul>
<a name="injectables()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>injectables</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<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>&gt;&nbsp;injectables()</pre>
<div class="block">This method returns SPI internal instances that need to be injected as well.
Usually these will be instances provided to SPI externally by user, e.g. during
SPI configuration.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables()">injectables</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>Internal SPI objects that also need to be injected.</dd></dl>
</li>
</ul>
<a name="getSocketTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocketTimeout</h4>
<pre>public&nbsp;long&nbsp;getSocketTimeout()</pre>
<div class="block">Gets socket timeout.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getSocketTimeout()">getSocketTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Socket timeout.</dd></dl>
</li>
</ul>
<a name="getAckTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAckTimeout</h4>
<pre>public&nbsp;long&nbsp;getAckTimeout()</pre>
<div class="block">Gets message acknowledgement timeout.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getAckTimeout()">getAckTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Message acknowledgement timeout.</dd></dl>
</li>
</ul>
<a name="getNetworkTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNetworkTimeout</h4>
<pre>public&nbsp;long&nbsp;getNetworkTimeout()</pre>
<div class="block">Gets network timeout.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getNetworkTimeout()">getNetworkTimeout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Network timeout.</dd></dl>
</li>
</ul>
<a name="getThreadPriority()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getThreadPriority</h4>
<pre>public&nbsp;int&nbsp;getThreadPriority()</pre>
<div class="block">Gets thread priority. All threads within SPI will be started with it.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getThreadPriority()">getThreadPriority</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Thread priority.</dd></dl>
</li>
</ul>
<a name="getHeartbeatFrequency()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeartbeatFrequency</h4>
<pre>public&nbsp;long&nbsp;getHeartbeatFrequency()</pre>
<div class="block">Gets delay between heartbeat messages sent by coordinator.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getHeartbeatFrequency()">getHeartbeatFrequency</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Time period in milliseconds.</dd></dl>
</li>
</ul>
<a name="getIpFinderFormatted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIpFinderFormatted</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;getIpFinderFormatted()</pre>
<div class="block">Gets <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/ipfinder/TcpDiscoveryIpFinder.html" title="interface in org.apache.ignite.spi.discovery.tcp.ipfinder"><code>TcpDiscoveryIpFinder</code></a> (string representation).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getIpFinderFormatted()">getIpFinderFormatted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>IPFinder (string representation).</dd></dl>
</li>
</ul>
<a name="getNodesJoined()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodesJoined</h4>
<pre>public&nbsp;long&nbsp;getNodesJoined()</pre>
<div class="block">Gets joined nodes count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getNodesJoined()">getNodesJoined</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Nodes joined count.</dd></dl>
</li>
</ul>
<a name="getNodesLeft()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodesLeft</h4>
<pre>public&nbsp;long&nbsp;getNodesLeft()</pre>
<div class="block">Gets left nodes count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getNodesLeft()">getNodesLeft</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Left nodes count.</dd></dl>
</li>
</ul>
<a name="getNodesFailed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodesFailed</h4>
<pre>public&nbsp;long&nbsp;getNodesFailed()</pre>
<div class="block">Gets failed nodes count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getNodesFailed()">getNodesFailed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Failed nodes count.</dd></dl>
</li>
</ul>
<a name="getPendingMessagesRegistered()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingMessagesRegistered</h4>
<pre>public&nbsp;long&nbsp;getPendingMessagesRegistered()</pre>
<div class="block">Gets pending messages registered count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getPendingMessagesRegistered()">getPendingMessagesRegistered</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Pending messages registered count.</dd></dl>
</li>
</ul>
<a name="getPendingMessagesDiscarded()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingMessagesDiscarded</h4>
<pre>public&nbsp;long&nbsp;getPendingMessagesDiscarded()</pre>
<div class="block">Gets pending messages discarded count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getPendingMessagesDiscarded()">getPendingMessagesDiscarded</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Pending messages registered count.</dd></dl>
</li>
</ul>
<a name="getAvgMessageProcessingTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAvgMessageProcessingTime</h4>
<pre>public&nbsp;long&nbsp;getAvgMessageProcessingTime()</pre>
<div class="block">Gets avg message processing time.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getAvgMessageProcessingTime()">getAvgMessageProcessingTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Avg message processing time.</dd></dl>
</li>
</ul>
<a name="getMaxMessageProcessingTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxMessageProcessingTime</h4>
<pre>public&nbsp;long&nbsp;getMaxMessageProcessingTime()</pre>
<div class="block">Gets max message processing time.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getMaxMessageProcessingTime()">getMaxMessageProcessingTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Max message processing time.</dd></dl>
</li>
</ul>
<a name="getTotalReceivedMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalReceivedMessages</h4>
<pre>public&nbsp;int&nbsp;getTotalReceivedMessages()</pre>
<div class="block">Gets total received messages count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getTotalReceivedMessages()">getTotalReceivedMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total received messages count.</dd></dl>
</li>
</ul>
<a name="getReceivedMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceivedMessages</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>&lt;<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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getReceivedMessages()</pre>
<div class="block">Gets received messages counts (grouped by type).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getReceivedMessages()">getReceivedMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Map containing message types and respective counts.</dd></dl>
</li>
</ul>
<a name="getTotalProcessedMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTotalProcessedMessages</h4>
<pre>public&nbsp;int&nbsp;getTotalProcessedMessages()</pre>
<div class="block">Gets total processed messages count.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getTotalProcessedMessages()">getTotalProcessedMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total processed messages count.</dd></dl>
</li>
</ul>
<a name="getProcessedMessages()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProcessedMessages</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>&lt;<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/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;getProcessedMessages()</pre>
<div class="block">Gets processed messages counts (grouped by type).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getProcessedMessages()">getProcessedMessages</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Map containing message types and respective counts.</dd></dl>
</li>
</ul>
<a name="getCoordinatorSinceTimestamp()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCoordinatorSinceTimestamp</h4>
<pre>public&nbsp;long&nbsp;getCoordinatorSinceTimestamp()</pre>
<div class="block">Gets time local node has been coordinator since.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html#getCoordinatorSinceTimestamp()">getCoordinatorSinceTimestamp</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Time local node is coordinator since.</dd></dl>
</li>
</ul>
<a name="onContextInitialized0(org.apache.ignite.spi.IgniteSpiContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextInitialized0</h4>
<pre>protected&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="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="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="getLocalNode()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalNode</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getLocalNode()</pre>
<div class="block">Gets local node.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getLocalNode()">getLocalNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNode()">getLocalNode</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>Local node.</dd></dl>
</li>
</ul>
<a name="setListener(org.apache.ignite.spi.discovery.DiscoverySpiListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setListener</h4>
<pre>public&nbsp;void&nbsp;setListener(@Nullable
<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiListener.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiListener</a>&nbsp;lsnr)</pre>
<div class="block">Sets a listener for discovery events. Refer to
<a href="../../../../../../org/apache/ignite/events/DiscoveryEvent.html" title="class in org.apache.ignite.events"><code>DiscoveryEvent</code></a> for a set of all possible
discovery events.
<p>
Note that as of Ignite 3.0.2 this method is called <b>before</b>
method <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)"><code>IgniteSpi.spiStart(String)</code></a> is called. This is done to
avoid potential window when SPI is started but the listener is
not registered yet.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setListener(org.apache.ignite.spi.discovery.DiscoverySpiListener)">setListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>lsnr</code> - Listener to discovery events or <code>null</code> to unset the listener.</dd></dl>
</li>
</ul>
<a name="setDataExchange(org.apache.ignite.spi.discovery.DiscoverySpiDataExchange)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataExchange</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setDataExchange(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiDataExchange.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpiDataExchange</a>&nbsp;exchange)</pre>
<div class="block">Sets a handler for initial data exchange between Ignite nodes.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setDataExchange(org.apache.ignite.spi.discovery.DiscoverySpiDataExchange)">setDataExchange</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>exchange</code> - Discovery data exchange handler.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="setMetricsProvider(org.apache.ignite.spi.discovery.DiscoveryMetricsProvider)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMetricsProvider</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setMetricsProvider(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html" title="interface in org.apache.ignite.spi.discovery">DiscoveryMetricsProvider</a>&nbsp;metricsProvider)</pre>
<div class="block">Sets discovery metrics provider. Use metrics provided by
<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoveryMetricsProvider.html#metrics()"><code>DiscoveryMetricsProvider.metrics()</code></a> method to exchange
dynamic metrics between nodes.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setMetricsProvider(org.apache.ignite.spi.discovery.DiscoveryMetricsProvider)">setMetricsProvider</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>metricsProvider</code> - Provider of metrics data.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getGridStartTime()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGridStartTime</h4>
<pre>public&nbsp;long&nbsp;getGridStartTime()</pre>
<div class="block">Gets start time of the very first node in the grid. This value should be the same
on all nodes in the grid and it should not change even if very first node fails
of leaves grid.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#getGridStartTime()">getGridStartTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Start time of the first node in grid or <code>0</code> if SPI implementation
does not support this method.</dd></dl>
</li>
</ul>
<a name="openSocket(java.net.InetSocketAddress, org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openSocket</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;openSocket(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;sockAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutException.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutException</a></pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sockAddr</code> - Remote address.</dd><dd><code>timeoutHelper</code> - Timeout helper.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Opened socket.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed.</dd>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutException.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutException</a></code> - In case of timeout.</dd></dl>
</li>
</ul>
<a name="openSocket(java.net.Socket, java.net.InetSocketAddress, org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>openSocket</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;openSocket(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;remAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutException.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutException</a></pre>
<div class="block">Connects to remote address sending <code>U.IGNITE_HEADER</code> when connection is established.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket bound to a local host address.</dd><dd><code>remAddr</code> - Remote address.</dd><dd><code>timeoutHelper</code> - Timeout helper.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Connected socket.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If failed.</dd>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutException.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutException</a></code> - In case of timeout.</dd></dl>
</li>
</ul>
<a name="writeToSocket(java.net.Socket, org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage, byte[], long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToSocket</h4>
<pre>protected&nbsp;void&nbsp;writeToSocket(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
byte[]&nbsp;data,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes message to the socket.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket.</dd><dd><code>msg</code> - Message.</dd><dd><code>data</code> - Raw data to write.</dd><dd><code>timeout</code> - Socket write timeout.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or write timed out.</dd></dl>
</li>
</ul>
<a name="writeToSocket(java.net.Socket, org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToSocket</h4>
<pre>protected&nbsp;void&nbsp;writeToSocket(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Writes message to the socket.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket.</dd><dd><code>msg</code> - Message.</dd><dd><code>timeout</code> - Socket write timeout.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or write timed out.</dd>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="writeToSocket(java.net.Socket, java.io.OutputStream, org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToSocket</h4>
<pre>protected&nbsp;void&nbsp;writeToSocket(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/OutputStream.html?is-external=true" title="class or interface in java.io">OutputStream</a>&nbsp;out,
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Writes message to the socket.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket.</dd><dd><code>out</code> - Stream to write to.</dd><dd><code>msg</code> - Message.</dd><dd><code>timeout</code> - Timeout.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or write timed out.</dd>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If marshalling failed.</dd></dl>
</li>
</ul>
<a name="writeToSocket(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage, java.net.Socket, int, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToSocket</h4>
<pre>protected&nbsp;void&nbsp;writeToSocket(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
int&nbsp;res,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes response to the socket.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Received message.</dd><dd><code>sock</code> - Socket.</dd><dd><code>res</code> - Integer response.</dd><dd><code>timeout</code> - Socket timeout.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or write timed out.</dd></dl>
</li>
</ul>
<a name="readMessage(java.net.Socket, java.io.InputStream, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readMessage</h4>
<pre>protected&nbsp;&lt;T&gt;&nbsp;T&nbsp;readMessage(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
@Nullable
<a href="http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></pre>
<div class="block">Reads message from the socket limiting read time.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket.</dd><dd><code>in</code> - Input stream (in case socket stream was wrapped).</dd><dd><code>timeout</code> - Socket timeout for this operation.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Message.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or read timed out.</dd>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteCheckedException.html" title="class in org.apache.ignite">IgniteCheckedException</a></code> - If unmarshalling failed.</dd></dl>
</li>
</ul>
<a name="readReceipt(java.net.Socket, long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readReceipt</h4>
<pre>protected&nbsp;int&nbsp;readReceipt(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
long&nbsp;timeout)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads message delivery receipt from the socket.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sock</code> - Socket.</dd><dd><code>timeout</code> - Socket timeout for this operation.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Receipt.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If IO failed or read timed out.</dd></dl>
</li>
</ul>
<a name="resolvedAddresses()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolvedAddresses</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;resolvedAddresses()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Resolves addresses registered in the IP finder, removes duplicates and local host
address and returns the collection of.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Resolved addresses without duplicates and local address (potentially
empty but never null).</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> - If an error occurs.</dd></dl>
</li>
</ul>
<a name="registeredAddresses()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registeredAddresses</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&gt;&nbsp;registeredAddresses()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Gets addresses registered in the IP finder, initializes addresses having no
port (or 0 port) with <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT"><code>DFLT_PORT</code></a>.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Registered addresses.</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> - If an error occurs.</dd></dl>
</li>
</ul>
<a name="duplicateIdError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>duplicateIdError</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a>&nbsp;duplicateIdError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage&nbsp;msg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Message.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Error.</dd></dl>
</li>
</ul>
<a name="authenticationFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>authenticationFailedError</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a>&nbsp;authenticationFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage&nbsp;msg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Message.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Error.</dd></dl>
</li>
</ul>
<a name="checkFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkFailedError</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a>&nbsp;checkFailedError(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage&nbsp;msg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Message.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Error.</dd></dl>
</li>
</ul>
<a name="ensured(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensured</h4>
<pre>protected&nbsp;boolean&nbsp;ensured(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - Message.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Whether delivery of the message is ensured.</dd></dl>
</li>
</ul>
<a name="collectExchangeData(java.util.UUID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collectExchangeData</h4>
<pre>protected&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>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,byte[]&gt;&nbsp;collectExchangeData(<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;nodeId)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - Node ID.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Marshalled exchange data.</dd></dl>
</li>
</ul>
<a name="onExchange(java.util.UUID, java.util.UUID, java.util.Map, java.lang.ClassLoader)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onExchange</h4>
<pre>protected&nbsp;void&nbsp;onExchange(<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;joiningNodeID,
<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;nodeId,
<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>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,byte[]&gt;&nbsp;data,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;clsLdr)</pre>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>joiningNodeID</code> - Joining node ID.</dd><dd><code>nodeId</code> - Remote node ID for which data is provided.</dd><dd><code>data</code> - Collection of marshalled discovery data objects from different components.</dd><dd><code>clsLdr</code> - Class loader.</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(@Nullable
<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="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="clientWorkerCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clientWorkerCount</h4>
<pre>public&nbsp;int&nbsp;clientWorkerCount()</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="addSendMessageListener(org.apache.ignite.lang.IgniteInClosure)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSendMessageListener</h4>
<pre>public&nbsp;void&nbsp;addSendMessageListener(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&nbsp;lsnr)</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="removeSendMessageListener(org.apache.ignite.lang.IgniteInClosure)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeSendMessageListener</h4>
<pre>public&nbsp;void&nbsp;removeSendMessageListener(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&gt;&nbsp;lsnr)</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="addIncomeConnectionListener(org.apache.ignite.lang.IgniteInClosure)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addIncomeConnectionListener</h4>
<pre>public&nbsp;void&nbsp;addIncomeConnectionListener(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&nbsp;lsnr)</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="removeIncomeConnectionListener(org.apache.ignite.lang.IgniteInClosure)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeIncomeConnectionListener</h4>
<pre>public&nbsp;void&nbsp;removeIncomeConnectionListener(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&gt;&nbsp;lsnr)</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="waitForClientMessagePrecessed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForClientMessagePrecessed</h4>
<pre>public&nbsp;void&nbsp;waitForClientMessagePrecessed()</pre>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</li>
</ul>
<a name="simulateNodeFailure()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>simulateNodeFailure</h4>
<pre>protected&nbsp;void&nbsp;simulateNodeFailure()</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong>
<p>
Simulates this node failure by stopping service threads. So, node will become
unresponsive.
<p>
This method is intended for test purposes only.</div>
</li>
</ul>
<a name="brakeConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>brakeConnection</h4>
<pre>public&nbsp;void&nbsp;brakeConnection()</pre>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</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/TcpDiscoverySpi.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>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/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" target="_top">Frames</a></li>
<li><a href="TcpDiscoverySpi.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>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>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>Ignite Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>1.7.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; August 1 2016 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>