blob: 81b62e72962d45f79813309edab3a146dc94dc0a [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>
<!-- Generated by javadoc (1.8.0_261) on Mon Dec 20 14:15:51 MSK 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TcpDiscoverySpi (Ignite 2.11.1)</title>
<meta name="date" content="2021-12-20">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TcpDiscoverySpi (Ignite 2.11.1)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":42,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":42,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi.discovery.tcp</div>
<h2 title="Class TcpDiscoverySpi" class="title">Class TcpDiscoverySpi</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.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>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi, <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/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value--">value</a>=true)
<a href="../../../../../../org/apache/ignite/spi/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)
<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiMutableCustomMessageSupport.html" title="annotation in org.apache.ignite.spi.discovery">@DiscoverySpiMutableCustomMessageSupport</a>(<a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpiMutableCustomMessageSupport.html#value--">value</a>=true)
public class <span class="typeNameLabel">TcpDiscoverySpi</span>
extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>
implements org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</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>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>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="seeLabel">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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ATTR_EXT_ADDRS">ATTR_EXT_ADDRS</a></span></code>
<div class="block">Node attribute that is mapped to node's external addresses (value is <tt>disc.tcp.ext-addrs</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#cfgNodeId">cfgNodeId</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#connRecoveryTimeout">connRecoveryTimeout</a></span></code>
<div class="block">Default connection recovery timeout in ms.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT">DFLT_ACK_TIMEOUT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_ACK_TIMEOUT_CLIENT">DFLT_ACK_TIMEOUT_CLIENT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_CONNECTION_RECOVERY_TIMEOUT">DFLT_CONNECTION_RECOVERY_TIMEOUT</a></span></code>
<div class="block">Default connection recovery timeout in ms.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY">DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE">DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_DISCOVERY_METRICS_QNT_WARN">DFLT_DISCOVERY_METRICS_QNT_WARN</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_IP_FINDER_CLEAN_FREQ">DFLT_IP_FINDER_CLEAN_FREQ</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_JOIN_TIMEOUT">DFLT_JOIN_TIMEOUT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_MAX_ACK_TIMEOUT">DFLT_MAX_ACK_TIMEOUT</a></span></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 long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_NETWORK_TIMEOUT">DFLT_NETWORK_TIMEOUT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_NODE_IDS_HISTORY_SIZE">DFLT_NODE_IDS_HISTORY_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT">DFLT_PORT</a></span></code>
<div class="block">Default port to listen (value is <tt>47500</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_PORT_RANGE">DFLT_PORT_RANGE</a></span></code>
<div class="block">Default local port range (value is <tt>100</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_RECONNECT_CNT">DFLT_RECONNECT_CNT</a></span></code>
<div class="block">Default reconnect attempts count (value is <tt>10</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_RECONNECT_DELAY">DFLT_RECONNECT_DELAY</a></span></code>
<div class="block">Default delay between attempts to connect to the cluster in milliseconds (value is <tt>2000</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SO_LINGER">DFLT_SO_LINGER</a></span></code>
<div class="block">Default SO_LINGER to set for socket, 0 means enabled with 0 timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT">DFLT_SOCK_TIMEOUT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SOCK_TIMEOUT_CLIENT">DFLT_SOCK_TIMEOUT_CLIENT</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_STATS_PRINT_FREQ">DFLT_STATS_PRINT_FREQ</a></span></code>
<div class="block">Default statistics print frequency in milliseconds (value is <tt>0ms</tt>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_THREAD_PRI">DFLT_THREAD_PRI</a></span></code>
<div class="block">Default value for thread priority (value is <tt>10</tt>).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL">DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_TOP_HISTORY_SIZE">DFLT_TOP_HISTORY_SIZE</a></span></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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#exchange">exchange</a></span></code>
<div class="block">Data exchange.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#gridStartTime">gridStartTime</a></span></code>
<div class="block">Start time of the very first grid node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.TcpDiscoveryImpl</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#impl">impl</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#incomeConnLsnrs">incomeConnLsnrs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ipFinder">ipFinder</a></span></code>
<div class="block">IP finder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ipFinderCleanFreq">ipFinderCleanFreq</a></span></code>
<div class="block">The frequency with which coordinator cleans IP finder and keeps it in the correct state, which means that
coordinator unregisters addresses of the nodes that have left the topology and re-registries missing addresses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#joinTimeout">joinTimeout</a></span></code>
<div class="block">Join timeout, in milliseconds.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locAddr">locAddr</a></span></code>
<div class="block">Local address.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locHost">locHost</a></span></code>
<div class="block">Local host.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNode">locNode</a></span></code>
<div class="block">Local node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeAddrs">locNodeAddrs</a></span></code>
<div class="block">Internal and external addresses of local node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeAttrs">locNodeAttrs</a></span></code>
<div class="block">Local node attributes.</div>
</td>
</tr>
<tr class="rowColor">
<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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locNodeVer">locNodeVer</a></span></code>
<div class="block">Local node version.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locPort">locPort</a></span></code>
<div class="block">Local port which node uses.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#locPortRange">locPortRange</a></span></code>
<div class="block">Local port range.</div>
</td>
</tr>
<tr class="altColor">
<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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#log">log</a></span></code>
<div class="block">Logger.</div>
</td>
</tr>
<tr class="rowColor">
<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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#lsnr">lsnr</a></span></code>
<div class="block">Grid discovery listener.</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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#metricsProvider">metricsProvider</a></span></code>
<div class="block">Metrics provider.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#metricsUpdateFreq">metricsUpdateFreq</a></span></code>
<div class="block">Metrics update messages issuing frequency.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#netTimeout">netTimeout</a></span></code>
<div class="block">Network timeout.</div>
</td>
</tr>
<tr class="rowColor">
<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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#nodeAuth">nodeAuth</a></span></code>
<div class="block">Node authenticator.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sndMsgLsnrs">sndMsgLsnrs</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#spiCtx">spiCtx</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sslEnable">sslEnable</a></span></code>
<div class="block">SSL enable/disable flag.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sslSockFactory">sslSockFactory</a></span></code>
<div class="block">SSL socket factory.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sslSrvSockFactory">sslSrvSockFactory</a></span></code>
<div class="block">SSL server socket factory.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryStatistics</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#stats">stats</a></span></code>
<div class="block">Statistics.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#statsPrintFreq">statsPrintFreq</a></span></code>
<div class="block">Statistics print frequency.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#threadPri">threadPri</a></span></code>
<div class="block">Thread priority for all threads started by SPI.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#topHistSize">topHistSize</a></span></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#ignite">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#igniteInstanceName">igniteInstanceName</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#TcpDiscoverySpi--">TcpDiscoverySpi</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#addIncomeConnectionListener-org.apache.ignite.lang.IgniteInClosure-">addIncomeConnectionListener</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#addSendMessageListener-org.apache.ignite.lang.IgniteInClosure-">addSendMessageListener</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#allNodesSupport-org.apache.ignite.internal.IgniteFeatures-">allNodesSupport</a></span>(org.apache.ignite.internal.IgniteFeatures&nbsp;feature)</code></td>
</tr>
<tr id="i3" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#authenticationFailedError-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage-">authenticationFailedError</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAuthFailedMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#brakeConnection--">brakeConnection</a></span>()</code>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</td>
</tr>
<tr id="i5" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#checkFailedError-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage-">checkFailedError</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#clientReconnect--">clientReconnect</a></span>()</code></td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#clientReconnectSupported--">clientReconnectSupported</a></span>()</code></td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#clientWorkerCount--">clientWorkerCount</a></span>()</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#consistentId--">consistentId</a></span>()</code>
<div class="block">Gets consistent ID.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#disconnect--">disconnect</a></span>()</code>
<div class="block">Tells discovery SPI to disconnect from topology.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#dumpDebugInfo--">dumpDebugInfo</a></span>()</code>
<div class="block">Dumps debug info using configured logger.</div>
</td>
</tr>
<tr id="i12" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#duplicateIdError-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage-">duplicateIdError</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#ensured-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-">ensured</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#failNode-java.util.UUID-java.lang.String-">failNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId,
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;warning)</code>
<div class="block">Initiates failure of provided node.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAckTimeout--">getAckTimeout</a></span>()</code>
<div class="block">Gets message acknowledgement timeout.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAddressResolver--">getAddressResolver</a></span>()</code>
<div class="block">Gets address resolver.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getAvgMessageProcessingTime--">getAvgMessageProcessingTime</a></span>()</code>
<div class="block">Gets avg message processing time.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getConnectionRecoveryTimeout--">getConnectionRecoveryTimeout</a></span>()</code>
<div class="block">Gets timeout that defines how long server node would try to recovery connection.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getCoordinator--">getCoordinator</a></span>()</code>
<div class="block">Gets current coordinator.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getCoordinatorSinceTimestamp--">getCoordinatorSinceTimestamp</a></span>()</code>
<div class="block">Gets time local node has been coordinator since.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getEffectiveSocketTimeout-boolean-">getEffectiveSocketTimeout</a></span>(boolean&nbsp;srvrOperation)</code>
<div class="block">Gets effective or resulting socket timeout with considering failure detection timeout</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getGridStartTime--">getGridStartTime</a></span>()</code>
<div class="block">Gets start time of the very first node in the grid.</div>
</td>
</tr>
<tr id="i23" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getIpFinder--">getIpFinder</a></span>()</code>
<div class="block">Gets IP finder for IP addresses sharing and storing.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getIpFinderCleanFrequency--">getIpFinderCleanFrequency</a></span>()</code>
<div class="block">Gets frequency with which coordinator cleans IP finder and keeps it in the correct state, unregistering addresses of
the nodes that have left the topology.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getIpFinderFormatted--">getIpFinderFormatted</a></span>()</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 id="i26" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getJoinTimeout--">getJoinTimeout</a></span>()</code>
<div class="block">Get join timeout, in milliseconds.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalAddress--">getLocalAddress</a></span>()</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 id="i28" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalNode--">getLocalNode</a></span>()</code>
<div class="block">Gets local node.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalNodeId--">getLocalNodeId</a></span>()</code>
<div class="block">Gets ID of the local node.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPort--">getLocalPort</a></span>()</code>
<div class="block">Gets local TCP port SPI listens to.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalPortRange--">getLocalPortRange</a></span>()</code>
<div class="block">Gets local TCP port range.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxAckTimeout--">getMaxAckTimeout</a></span>()</code>
<div class="block">Gets maximum message acknowledgement timeout.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMaxMessageProcessingTime--">getMaxMessageProcessingTime</a></span>()</code>
<div class="block">Gets max message processing time.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getMessageWorkerQueueSize--">getMessageWorkerQueueSize</a></span>()</code>
<div class="block">Gets message worker queue current size.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNetworkTimeout--">getNetworkTimeout</a></span>()</code>
<div class="block">Gets network timeout.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>@Nullable <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNode-java.util.UUID-">getNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Gets node by ID.</div>
</td>
</tr>
<tr id="i37" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNode0-java.util.UUID-">getNode0</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;id)</code>&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesFailed--">getNodesFailed</a></span>()</code>
<div class="block">Gets failed nodes count.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesJoined--">getNodesJoined</a></span>()</code>
<div class="block">Gets joined nodes count.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getNodesLeft--">getNodesLeft</a></span>()</code>
<div class="block">Gets left nodes count.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getPendingMessagesDiscarded--">getPendingMessagesDiscarded</a></span>()</code>
<div class="block">Gets pending messages discarded count.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getPendingMessagesRegistered--">getPendingMessagesRegistered</a></span>()</code>
<div class="block">Gets pending messages registered count.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getProcessedMessages--">getProcessedMessages</a></span>()</code>
<div class="block">Gets processed messages counts (grouped by type).</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReceivedMessages--">getReceivedMessages</a></span>()</code>
<div class="block">Gets received messages counts (grouped by type).</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReconnectCount--">getReconnectCount</a></span>()</code>
<div class="block">Gets number of connection attempts.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getReconnectDelay--">getReconnectDelay</a></span>()</code>
<div class="block">Gets the amount of time in milliseconds that node waits before retrying to (re)connect to the cluster.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getRemoteNodes--">getRemoteNodes</a></span>()</code>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSocketTimeout--">getSocketTimeout</a></span>()</code>
<div class="block">Gets socket timeout.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSoLinger--">getSoLinger</a></span>()</code>
<div class="block">Gets SO_LINGER timeout for socket.</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSpiContext--">getSpiContext</a></span>()</code>
<div class="block">Gets SPI context.</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getSpiState--">getSpiState</a></span>()</code>
<div class="block">Gets current SPI state.</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getStatisticsPrintFrequency--">getStatisticsPrintFrequency</a></span>()</code>
<div class="block">Gets statistics print frequency.</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getThreadPriority--">getThreadPriority</a></span>()</code>
<div class="block">Gets thread priority.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getTopHistorySize--">getTopHistorySize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getTotalProcessedMessages--">getTotalProcessedMessages</a></span>()</code>
<div class="block">Gets total processed messages count.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getTotalReceivedMessages--">getTotalReceivedMessages</a></span>()</code>
<div class="block">Gets total received messages count.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#initLocalNode-int-boolean-">initLocalNode</a></span>(int&nbsp;srvPort,
boolean&nbsp;addExtAddrAttr)</code>&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#injectables--">injectables</a></span>()</code>
<div class="block">This method returns SPI internal instances that need to be injected as well.</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#injectResources-org.apache.ignite.Ignite-">injectResources</a></span>(<a href="../../../../../../org/apache/ignite/Ignite.html" title="interface in org.apache.ignite">Ignite</a>&nbsp;ignite)</code>
<div class="block">Inject resources</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isClientMode--">isClientMode</a></span>()</code>
<div class="block">Whether or not discovery is started in client mode.</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isClientReconnectDisabled--">isClientReconnectDisabled</a></span>()</code>
<div class="block">If <code>true</code> client does not try to reconnect after
server detected client node failure.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isForceServerMode--">isForceServerMode</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Will be removed at 3.0.</span></div>
</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#isLocalNodeCoordinator--">isLocalNodeCoordinator</a></span>()</code>
<div class="block">Checks whether local node is coordinator.</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#knownNode-java.util.UUID-">knownNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code></td>
</tr>
<tr id="i65" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#marshaller--">marshaller</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#onContextDestroyed0--">onContextDestroyed0</a></span>()</code>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></span>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)</code>
<div class="block">Method to be called in the end of onContextInitialized method.</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#onExchange-org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket-java.lang.ClassLoader-">onExchange</a></span>(org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket&nbsp;dataPacket,
<a href="https://docs.oracle.com/javase/8/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 id="i69" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#openSocket-java.net.InetSocketAddress-org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper-">openSocket</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&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 id="i70" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#openSocket-java.net.Socket-java.net.InetSocketAddress-org.apache.ignite.spi.IgniteSpiOperationTimeoutHelper-">openSocket</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&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 id="i71" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#pingNode-java.util.UUID-">pingNode</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Pings the remote node to see if it's alive.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>protected <span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#readMessage-java.net.Socket-java.io.InputStream-long-">readMessage</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
@Nullable <a href="https://docs.oracle.com/javase/8/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 id="i73" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#readReceipt-java.net.Socket-long-">readReceipt</a></span>(<a href="https://docs.oracle.com/javase/8/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 id="i74" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#registeredAddresses--">registeredAddresses</a></span>()</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 id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#removeIncomeConnectionListener-org.apache.ignite.lang.IgniteInClosure-">removeIncomeConnectionListener</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#removeSendMessageListener-org.apache.ignite.lang.IgniteInClosure-">removeSendMessageListener</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#resolveCommunicationFailure-org.apache.ignite.cluster.ClusterNode-java.lang.Exception-">resolveCommunicationFailure</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;err)</code></td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#resolvedAddresses--">resolvedAddresses</a></span>()</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 id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#sendCustomEvent-org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage-">sendCustomEvent</a></span>(<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 id="i80" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout-long-">setAckTimeout</a></span>(long&nbsp;ackTimeout)</code>
<div class="block">Sets timeout for receiving acknowledgement for sent message.</div>
</td>
</tr>
<tr id="i81" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAddressFilter-org.apache.ignite.lang.IgnitePredicate-">setAddressFilter</a></span>(<a href="../../../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addressFilter)</code>
<div class="block">Sets filter for IP addresses.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAddressResolver-org.apache.ignite.configuration.AddressResolver-">setAddressResolver</a></span>(<a href="../../../../../../org/apache/ignite/configuration/AddressResolver.html" title="interface in org.apache.ignite.configuration">AddressResolver</a>&nbsp;addrRslvr)</code>
<div class="block">Sets address resolver.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAuthenticator-org.apache.ignite.spi.discovery.DiscoverySpiNodeAuthenticator-">setAuthenticator</a></span>(<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 id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setClientReconnectDisabled-boolean-">setClientReconnectDisabled</a></span>(boolean&nbsp;clientReconnectDisabled)</code>
<div class="block">Sets client reconnect disabled flag.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setConnectionRecoveryTimeout-long-">setConnectionRecoveryTimeout</a></span>(long&nbsp;connRecoveryTimeout)</code>
<div class="block">Sets timeout that defines how long server node would try to recovery connection.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setDataExchange-org.apache.ignite.spi.discovery.DiscoverySpiDataExchange-">setDataExchange</a></span>(<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 id="i87" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setForceServerMode-boolean-">setForceServerMode</a></span>(boolean&nbsp;forceSrvMode)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">Will be removed at 3.0.</span></div>
</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setInternalListener-org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpiInternalListener-">setInternalListener</a></span>(org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpiInternalListener&nbsp;lsnr)</code>
<div class="block">For TESTING only.</div>
</td>
</tr>
<tr id="i89" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinder-org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder-">setIpFinder</a></span>(<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 id="i90" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setIpFinderCleanFrequency-long-">setIpFinderCleanFrequency</a></span>(long&nbsp;ipFinderCleanFreq)</code>
<div class="block">Sets IP finder clean frequency in milliseconds.</div>
</td>
</tr>
<tr id="i91" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setJoinTimeout-long-">setJoinTimeout</a></span>(long&nbsp;joinTimeout)</code>
<div class="block">Sets join timeout.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setListener-org.apache.ignite.spi.discovery.DiscoverySpiListener-">setListener</a></span>(@Nullable <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 id="i93" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalAddress-java.lang.String-">setLocalAddress</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locAddr)</code>
<div class="block">Sets network addresses for the Discovery SPI.</div>
</td>
</tr>
<tr id="i94" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPort-int-">setLocalPort</a></span>(int&nbsp;locPort)</code>
<div class="block">Sets local port to listen to.</div>
</td>
</tr>
<tr id="i95" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setLocalPortRange-int-">setLocalPortRange</a></span>(int&nbsp;locPortRange)</code>
<div class="block">Range for local ports.</div>
</td>
</tr>
<tr id="i96" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMaxAckTimeout-long-">setMaxAckTimeout</a></span>(long&nbsp;maxAckTimeout)</code>
<div class="block">Sets maximum timeout for receiving acknowledgement for sent message.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setMetricsProvider-org.apache.ignite.spi.discovery.DiscoveryMetricsProvider-">setMetricsProvider</a></span>(<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 id="i98" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setName-java.lang.String-">setName</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
<div class="block">Sets SPI name.</div>
</td>
</tr>
<tr id="i99" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setNetworkTimeout-long-">setNetworkTimeout</a></span>(long&nbsp;netTimeout)</code>
<div class="block">Sets maximum network timeout to use for network operations.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setNodeAttributes-java.util.Map-org.apache.ignite.lang.IgniteProductVersion-">setNodeAttributes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&nbsp;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 id="i101" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setReconnectCount-int-">setReconnectCount</a></span>(int&nbsp;reconCnt)</code>
<div class="block">Number of times node tries to (re)establish connection to another node.</div>
</td>
</tr>
<tr id="i102" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setReconnectDelay-int-">setReconnectDelay</a></span>(int&nbsp;reconDelay)</code>
<div class="block">Sets the amount of time in milliseconds that node waits before retrying to (re)connect to the cluster.</div>
</td>
</tr>
<tr id="i103" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setSocketTimeout-long-">setSocketTimeout</a></span>(long&nbsp;sockTimeout)</code>
<div class="block">Sets socket operations timeout.</div>
</td>
</tr>
<tr id="i104" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setSoLinger-int-">setSoLinger</a></span>(int&nbsp;soLinger)</code>
<div class="block">Sets SO_LINGER to use for all created sockets.</div>
</td>
</tr>
<tr id="i105" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setStatisticsPrintFrequency-long-">setStatisticsPrintFrequency</a></span>(long&nbsp;statsPrintFreq)</code>
<div class="block">Sets statistics print frequency.</div>
</td>
</tr>
<tr id="i106" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setThreadPriority-int-">setThreadPriority</a></span>(int&nbsp;threadPri)</code>
<div class="block">Sets thread priority.</div>
</td>
</tr>
<tr id="i107" 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><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setTopHistorySize-int-">setTopHistorySize</a></span>(int&nbsp;topHistSize)</code>
<div class="block">Sets size of topology snapshots history.</div>
</td>
</tr>
<tr id="i108" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#simulateNodeFailure--">simulateNodeFailure</a></span>()</code>
<div class="block"><strong>FOR TEST ONLY!!!</div>
</td>
</tr>
<tr id="i109" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#spiStart-java.lang.String-">spiStart</a></span>(@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr id="i110" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#spiStop--">spiStop</a></span>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
<tr id="i111" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#startMessageProcess-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-">startMessageProcess</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg)</code>&nbsp;</td>
</tr>
<tr id="i112" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#supportsCommunicationFailureResolve--">supportsCommunicationFailureResolve</a></span>()</code></td>
</tr>
<tr id="i113" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#toString--">toString</a></span>()</code></td>
</tr>
<tr id="i114" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#waitForClientMessagePrecessed--">waitForClientMessagePrecessed</a></span>()</code>
<div class="block">FOR TEST PURPOSE ONLY!</div>
</td>
</tr>
<tr id="i115" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket-org.apache.ignite.cluster.ClusterNode-java.net.Socket-java.io.OutputStream-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-long-">writeToSocket</a></span>(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/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>&nbsp;</td>
</tr>
<tr id="i116" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket-java.net.Socket-java.io.OutputStream-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-long-">writeToSocket</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/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 id="i117" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket-java.net.Socket-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-byte:A-long-">writeToSocket</a></span>(<a href="https://docs.oracle.com/javase/8/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 id="i118" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket-java.net.Socket-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-long-">writeToSocket</a></span>(<a href="https://docs.oracle.com/javase/8/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 id="i119" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#writeToSocket-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-java.net.Socket-int-long-">writeToSocket</a></span>(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg,
<a href="https://docs.oracle.com/javase/8/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-java.lang.String-">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0-org.apache.ignite.spi.IgniteSpiContext-org.apache.ignite.cluster.ClusterNode-boolean-">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#clientFailureDetectionTimeout--">clientFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo-java.lang.String-java.lang.Object-">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName-java.lang.String-">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--">failureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled--">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeoutEnabled-boolean-">failureDetectionTimeoutEnabled</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames--">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry--">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes--">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite--">ignite</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#initFailureDetectionTimeout--">initFailureDetectionTimeout</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#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-T-java.lang.Class-">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#removeTimeoutObject-org.apache.ignite.spi.IgniteSpiTimeoutObject-">removeTimeoutObject</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#started--">started</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo--">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch--">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo--">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean--">unregisterMBean</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.ignite.spi.IgniteSpi">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName--">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#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>
</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> ATTR_EXT_ADDRS</pre>
<div class="block">Node attribute that is mapped to node's external addresses (value is <tt>disc.tcp.ext-addrs</tt>).</div>
<dl>
<dt><span class="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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_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="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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="seeLabel">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_RECONNECT_DELAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_RECONNECT_DELAY</h4>
<pre>public static final&nbsp;long DFLT_RECONNECT_DELAY</pre>
<div class="block">Default delay between attempts to connect to the cluster in milliseconds (value is <tt>2000</tt>).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_RECONNECT_DELAY">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="seeLabel">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="seeLabel">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="seeLabel">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="DFLT_SO_LINGER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_SO_LINGER</h4>
<pre>public static final&nbsp;int DFLT_SO_LINGER</pre>
<div class="block">Default SO_LINGER to set for socket, 0 means enabled with 0 timeout.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_SO_LINGER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_CONNECTION_RECOVERY_TIMEOUT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_CONNECTION_RECOVERY_TIMEOUT</h4>
<pre>public static final&nbsp;long DFLT_CONNECTION_RECOVERY_TIMEOUT</pre>
<div class="block">Default connection recovery timeout in ms.</div>
</li>
</ul>
<a name="DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE</h4>
<pre>public static final&nbsp;int DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE"><code>IgniteSystemProperties.IGNITE_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE</code></a>,
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_DISCOVERY_CLIENT_RECONNECT_HISTORY_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_NODE_IDS_HISTORY_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_NODE_IDS_HISTORY_SIZE</h4>
<pre>public static final&nbsp;int DFLT_NODE_IDS_HISTORY_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_NODE_IDS_HISTORY_SIZE"><code>IgniteSystemProperties.IGNITE_NODE_IDS_HISTORY_SIZE</code></a>,
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_NODE_IDS_HISTORY_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY</h4>
<pre>public static final&nbsp;int DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_DISCO_FAILED_CLIENT_RECONNECT_DELAY"><code>IgniteSystemProperties.IGNITE_DISCO_FAILED_CLIENT_RECONNECT_DELAY</code></a>,
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_DISCO_FAILED_CLIENT_RECONNECT_DELAY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL</h4>
<pre>public static final&nbsp;int DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#CLIENT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL"><code>IgniteSystemProperties.CLIENT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL</code></a>,
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_THROTTLE_RECONNECT_RESET_TIMEOUT_INTERVAL">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DFLT_DISCOVERY_METRICS_QNT_WARN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_DISCOVERY_METRICS_QNT_WARN</h4>
<pre>public static final&nbsp;int DFLT_DISCOVERY_METRICS_QNT_WARN</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/IgniteSystemProperties.html#IGNITE_DISCOVERY_METRICS_QNT_WARN"><code>IgniteSystemProperties.IGNITE_DISCOVERY_METRICS_QNT_WARN</code></a>,
<a href="../../../../../../constant-values.html#org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.DFLT_DISCOVERY_METRICS_QNT_WARN">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="https://docs.oracle.com/javase/8/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, in milliseconds. Time to wait for joining. If node cannot connect to any address from the IP
finder, the node continues to try to join during this timeout. If all addresses still do not respond, an
exception will occur and the node will fail to start. If 0 is specified, it means wait forever.</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="metricsUpdateFreq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>metricsUpdateFreq</h4>
<pre>protected&nbsp;long metricsUpdateFreq</pre>
<div class="block">Metrics update 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="connRecoveryTimeout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connRecoveryTimeout</h4>
<pre>protected&nbsp;long connRecoveryTimeout</pre>
<div class="block">Default connection recovery timeout in ms.</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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span> 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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span> 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="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="ipFinderCleanFreq">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ipFinderCleanFreq</h4>
<pre>protected&nbsp;long ipFinderCleanFreq</pre>
<div class="block">The frequency with which coordinator cleans IP finder and keeps it in the correct state, which means that
coordinator unregisters addresses of the nodes that have left the topology and re-registries missing addresses.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>ServerImpl.IpFinderCleaner</code></dd>
</dl>
</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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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="sslEnable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslEnable</h4>
<pre>protected&nbsp;boolean sslEnable</pre>
<div class="block">SSL enable/disable flag.</div>
</li>
</ul>
<a name="sndMsgLsnrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sndMsgLsnrs</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span> sndMsgLsnrs</pre>
</li>
</ul>
<a name="incomeConnLsnrs">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>incomeConnLsnrs</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html?is-external=true" title="class or interface in java.util.concurrent">CopyOnWriteArrayList</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/lang/IgniteInClosure.html" title="interface in org.apache.ignite.lang">IgniteInClosure</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span><span class='angle_bracket'>&gt;</span> 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="blockList">
<li class="blockList">
<h4>impl</h4>
<pre>protected&nbsp;org.apache.ignite.spi.discovery.tcp.TcpDiscoveryImpl impl</pre>
</li>
</ul>
<a name="spiCtx">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>spiCtx</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a> spiCtx</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="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSpiState()</pre>
<div class="block">Gets current SPI state.</div>
<dl>
<dt><span class="returnLabel">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><span class="returnLabel">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>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;getCoordinator()</pre>
<div class="block">Gets current coordinator.</div>
<dl>
<dt><span class="returnLabel">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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a><span class='angle_bracket'>&gt;</span>&nbsp;getRemoteNodes()</pre>
<div class="block">Gets collection of remote nodes in grid or empty collection if no remote nodes found.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="returnLabel">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;@Nullable <a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getNode(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Gets node by ID.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node ID.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Node with given ID or <code>null</code> if node is not found.</dd>
</dl>
</li>
</ul>
<a name="getNode0-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode0</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;getNode0(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;id)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>id</code> - Id.</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="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Pings the remote node to see if it's alive.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node Id.</dd>
<dt><span class="returnLabel">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><span class="overrideSpecifyLabel">Specified by:</span></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="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If 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><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">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><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Custom message.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - if failed to sent the event message.</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="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId,
@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;warning)</pre>
<div class="block">Initiates failure of provided node.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#failNode-java.util.UUID-java.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="paramLabel">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>
</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><span class="overrideSpecifyLabel">Specified by:</span></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><span class="returnLabel">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><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public&nbsp;boolean&nbsp;isForceServerMode()</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Will be removed at 3.0.</span></div>
<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="returnLabel">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)
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
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"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Will be removed at 3.0.</span></div>
<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="paramLabel">Parameters:</span></dt>
<dd><code>forceSrvMode</code> - forceServerMode flag.</dd>
<dt><span class="returnLabel">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="returnLabel">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="paramLabel">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><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectResources-org.apache.ignite.Ignite-">injectResources</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ignite</code> - Ignite.</dd>
</dl>
</li>
</ul>
<a name="setLocalAddress-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalAddress</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional--">optional</a>=true)
public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setLocalAddress(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;locAddr)</pre>
<div class="block">Sets network addresses for the Discovery SPI.
<p>
If not provided, the value is resolved from <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost--"><code>IgniteConfiguration.getLocalHost()</code></a>. If the latter is not set
as well, the the node binds to all available IP addresses of an environment it's running on.
If there is no a non-loopback address, then <a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true#getLocalHost--" title="class or interface in java.net"><code>InetAddress.getLocalHost()</code></a> is used.
<p>
<b>NOTE:</b> You should initialize the <a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getLocalHost--"><code>IgniteConfiguration.getLocalHost()</code></a> or
<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getLocalAddress--"><code>getLocalAddress()</code></a> parameter with the network
interface that will be used for inter-node communication. Otherwise, the node can listen on multiple network
addresses available in the environment and this can prolong node failures detection if some of the addresses are
not reachable from other cluster nodes. For instance, if the node is bound to 3 network interfaces,
it can take up to
'<a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#getFailureDetectionTimeout--"><code>IgniteConfiguration.getFailureDetectionTimeout()</code></a> * 3 + <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#getConnectionRecoveryTimeout--"><code>getConnectionRecoveryTimeout()</code></a>'
milliseconds for another node to detect a disconnect of the give node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>locAddr</code> - IP address.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/configuration/IgniteConfiguration.html#setLocalHost-java.lang.String-"><code>IgniteConfiguration.setLocalHost(String).</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocalAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLocalAddress()</pre>
<div class="block">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="returnLabel">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="paramLabel">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="returnLabel">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><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>reconCnt</code> - Number of retries during message sending.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setAckTimeout-long-"><code>setAckTimeout(long)</code></a></dd>
</dl>
</li>
</ul>
<a name="getReconnectDelay--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReconnectDelay</h4>
<pre>public&nbsp;long&nbsp;getReconnectDelay()</pre>
<div class="block">Gets the amount of time in milliseconds that node waits before retrying to (re)connect to the cluster.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Delay between attempts to connect to the cluster in milliseconds.</dd>
</dl>
</li>
</ul>
<a name="setReconnectDelay-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReconnectDelay</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;setReconnectDelay(int&nbsp;reconDelay)</pre>
<div class="block">Sets the amount of time in milliseconds that node waits before retrying to (re)connect to the cluster.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_RECONNECT_DELAY"><code>DFLT_RECONNECT_DELAY</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reconDelay</code> - Delay between attempts to connect to the cluster in milliseconds.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</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><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>maxAckTimeout</code> - Maximum acknowledgement timeout.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getLocalPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPort</h4>
<pre>public&nbsp;int&nbsp;getLocalPort()</pre>
<div class="block">Gets local TCP port SPI listens to.</div>
<dl>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>locPort</code> - Local port to bind.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getLocalPortRange--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPortRange</h4>
<pre>public&nbsp;int&nbsp;getLocalPortRange()</pre>
<div class="block">Gets local TCP port range.</div>
<dl>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>locPortRange</code> - Local port range to bind.</dd>
<dt><span class="returnLabel">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><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>statsPrintFreq</code> - Statistics print frequency in milliseconds.</dd>
<dt><span class="returnLabel">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 frequency with which coordinator cleans IP finder and keeps it in the correct state, unregistering addresses of
the nodes that have left the topology.</div>
<dl>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>ipFinderCleanFreq</code> - IP finder clean frequency.</dd>
<dt><span class="returnLabel">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="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>ipFinder</code> - IP finder.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setAddressFilter-org.apache.ignite.lang.IgnitePredicate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddressFilter</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;setAddressFilter(<a href="../../../../../../org/apache/ignite/lang/IgnitePredicate.html" title="interface in org.apache.ignite.lang">IgnitePredicate</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;addressFilter)</pre>
<div class="block">Sets filter for IP addresses. Each address found by <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> will be checked against
this filter and only passing addresses will be used for discovery.
<p>
If not specified or null, all found addresses are used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addressFilter</code> - Address filter to use</dd>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>sockTimeout</code> - Socket connection timeout.</dd>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>ackTimeout</code> - Acknowledgement timeout.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="setSoLinger-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSoLinger</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;setSoLinger(int&nbsp;soLinger)</pre>
<div class="block">Sets SO_LINGER to use for all created sockets.
<p>
If not specified, default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_SO_LINGER"><code>DFLT_SO_LINGER</code></a>
</p></div>
</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="paramLabel">Parameters:</span></dt>
<dd><code>netTimeout</code> - Network timeout.</dd>
<dt><span class="returnLabel">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">Get join timeout, in milliseconds. Time to wait for joining. If node cannot connect to any address from the IP
finder, the node continues to try to join during this timeout. If all addresses still do not respond, an
exception will occur and the node will fail to start. If 0 is specified, it means wait forever.</div>
<dl>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>joinTimeout</code> - Join timeout (<code>0</code> means wait forever).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/ignite/spi/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="paramLabel">Parameters:</span></dt>
<dd><code>threadPri</code> - Thread priority.</dd>
<dt><span class="returnLabel">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="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>topHistSize</code> - Size of topology snapshots history.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="getConnectionRecoveryTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnectionRecoveryTimeout</h4>
<pre>public&nbsp;long&nbsp;getConnectionRecoveryTimeout()</pre>
<div class="block">Gets timeout that defines how long server node would try to recovery connection.<br>
See <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#setConnectionRecoveryTimeout-long-"><code>setConnectionRecoveryTimeout(long)</code></a> for details.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Timeout that defines how long server node would try to recovery connection.</dd>
</dl>
</li>
</ul>
<a name="setConnectionRecoveryTimeout-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConnectionRecoveryTimeout</h4>
<pre>public&nbsp;void&nbsp;setConnectionRecoveryTimeout(long&nbsp;connRecoveryTimeout)</pre>
<div class="block">Sets timeout that defines how long server node would try to recovery connection.
<p>In case local node has temporary connectivity issues with part of the cluster,
it may sequentially fail nodes one-by-one till successfully connect to one that
has a fine connection with.
This leads to fail of big number of nodes.
</p>
<p>
To overcome that issue, local node will do a sequential connection tries to next
nodes. But if new next node has connection to previous it forces local node to
retry connect to previous. These tries will last till timeout will not
finished. When timeout is over, but no success in connecting to nodes it will
segment itself.
</p>
<p>
Cannot be greater than <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#failureDetectionTimeout--"><code>IgniteSpiAdapter.failureDetectionTimeout()</code></a>.
</p>
<p>
Default is <a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html#DFLT_CONNECTION_RECOVERY_TIMEOUT"><code>DFLT_CONNECTION_RECOVERY_TIMEOUT</code></a>.
</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>connRecoveryTimeout</code> - Timeout that defines how long server node would try to recovery connection.
<code>0</code> means node will not recheck failed nodes.</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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&nbsp;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.
set</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#setNodeAttributes-java.util.Map-org.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="paramLabel">Parameters:</span></dt>
<dd><code>attrs</code> - Map of node attributes.</dd>
<dd><code>ver</code> - Product version.</dd>
</dl>
</li>
</ul>
<a name="getLocalNodeId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalNodeId</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;getLocalNodeId()</pre>
<div class="block">Gets ID of the local node.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ID of the local node.</dd>
</dl>
</li>
</ul>
<a name="consistentId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consistentId</h4>
<pre>@Nullable
public&nbsp;@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>&nbsp;consistentId()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Gets consistent ID.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html#consistentId--">consistentId</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="returnLabel">Returns:</span></dt>
<dd>Consistent ID of this Ignite instance or <code>null</code> if not applicable.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If failed.</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="paramLabel">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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a><span class='angle_bracket'>&gt;</span>&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><span class="overrideSpecifyLabel">Overrides:</span></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="returnLabel">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><span class="returnLabel">Returns:</span></dt>
<dd>Socket timeout.</dd>
</dl>
</li>
</ul>
<a name="getEffectiveSocketTimeout-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEffectiveSocketTimeout</h4>
<pre>public&nbsp;long&nbsp;getEffectiveSocketTimeout(boolean&nbsp;srvrOperation)</pre>
<div class="block">Gets effective or resulting socket timeout with considering failure detection timeout</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srvrOperation</code> - <code>True</code> if socket connect to server node,
<code>False</code> if socket connect to client node.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Resulting 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><span class="returnLabel">Returns:</span></dt>
<dd>Message acknowledgement timeout.</dd>
</dl>
</li>
</ul>
<a name="getSoLinger--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSoLinger</h4>
<pre>public&nbsp;int&nbsp;getSoLinger()</pre>
<div class="block">Gets SO_LINGER timeout for socket.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SO_LINGER timeout for socket.</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><span class="returnLabel">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><span class="returnLabel">Returns:</span></dt>
<dd>Thread priority.</dd>
</dl>
</li>
</ul>
<a name="getIpFinderFormatted--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIpFinderFormatted</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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><span class="returnLabel">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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a><span class='angle_bracket'>&gt;</span>&nbsp;getReceivedMessages()</pre>
<div class="block">Gets received messages counts (grouped by type).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing message types and respective counts.</dd>
</dl>
</li>
</ul>
<a name="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><span class="returnLabel">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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a><span class='angle_bracket'>&gt;</span>&nbsp;getProcessedMessages()</pre>
<div class="block">Gets processed messages counts (grouped by type).</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Map containing message types and respective counts.</dd>
</dl>
</li>
</ul>
<a name="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><span class="returnLabel">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><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0-org.apache.ignite.spi.IgniteSpiContext-">onContextInitialized0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>spiCtx</code> - SPI context.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - In case of errors.</dd>
</dl>
</li>
</ul>
<a name="onContextDestroyed0--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextDestroyed0</h4>
<pre>protected&nbsp;void&nbsp;onContextDestroyed0()</pre>
<div class="block">Method to be called in the beginning of onContextDestroyed() method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0--">onContextDestroyed0</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
</dl>
</li>
</ul>
<a name="getSpiContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpiContext</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;getSpiContext()</pre>
<div class="block">Gets SPI context.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext--">getSpiContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>SPI context.</dd>
</dl>
</li>
</ul>
<a name="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><span class="overrideSpecifyLabel">Specified by:</span></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><span class="overrideSpecifyLabel">Overrides:</span></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="returnLabel">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
@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>
<span class='todo'>TODO</span>: This method should be removed from public API in Apache Ignite 3.0</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">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;void&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><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">Parameters:</span></dt>
<dd><code>exchange</code> - Discovery data exchange handler.</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;void&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><span class="overrideSpecifyLabel">Specified by:</span></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="paramLabel">Parameters:</span></dt>
<dd><code>metricsProvider</code> - Provider of metrics data.</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><span class="overrideSpecifyLabel">Specified by:</span></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="returnLabel">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="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;openSocket(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;sockAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutException.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutException</a></pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sockAddr</code> - Remote address.</dd>
<dd><code>timeoutHelper</code> - Timeout helper.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Opened socket.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;openSocket(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;remAddr,
<a href="../../../../../../org/apache/ignite/spi/IgniteSpiOperationTimeoutHelper.html" title="class in org.apache.ignite.spi">IgniteSpiOperationTimeoutHelper</a>&nbsp;timeoutHelper)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<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="paramLabel">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="returnLabel">Returns:</span></dt>
<dd>Connected socket.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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:A-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToSocket</h4>
<pre>protected&nbsp;void&nbsp;writeToSocket(<a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes message to the socket.</div>
<dl>
<dt><span class="paramLabel">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="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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="paramLabel">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="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="startMessageProcess-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startMessageProcess</h4>
<pre>@TestOnly
protected&nbsp;void&nbsp;startMessageProcess(org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage&nbsp;msg)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Message.</dd>
</dl>
</li>
</ul>
<a name="writeToSocket-org.apache.ignite.cluster.ClusterNode-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="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Target node.</dd>
<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="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
<a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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="paramLabel">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="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Writes response to the socket.</div>
<dl>
<dt><span class="paramLabel">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="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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;<span class='angle_bracket'>&lt;</span>T<span class='angle_bracket'>&gt;</span>&nbsp;T&nbsp;readMessage(<a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a>&nbsp;sock,
@Nullable
@Nullable <a href="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/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="paramLabel">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="returnLabel">Returns:</span></dt>
<dd>Message.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/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="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads message delivery receipt from the socket.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sock</code> - Socket.</dd>
<dd><code>timeout</code> - Socket timeout for this operation.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Receipt.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - If 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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;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="returnLabel">Returns:</span></dt>
<dd>Resolved addresses without duplicates and local address (potentially
empty but never null).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If 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="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a><span class='angle_bracket'>&gt;</span>&nbsp;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="returnLabel">Returns:</span></dt>
<dd>Registered addresses.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If 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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Message.</dd>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Message.</dd>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Message.</dd>
<dt><span class="returnLabel">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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - Message.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Whether delivery of the message is ensured.</dd>
</dl>
</li>
</ul>
<a name="onExchange-org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket-java.lang.ClassLoader-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onExchange</h4>
<pre>protected&nbsp;void&nbsp;onExchange(org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket&nbsp;dataPacket,
<a href="https://docs.oracle.com/javase/8/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="paramLabel">Parameters:</span></dt>
<dd><code>dataPacket</code> - object holding discovery data collected during discovery process.</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
@Nullable <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;igniteInstanceName)
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
successfully kernel assumes that SPI is fully operational.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart-java.lang.String-">spiStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>igniteInstanceName</code> - Name of Ignite instance this SPI is being started for
(<code>null</code> for default Ignite instance).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd>
</dl>
</li>
</ul>
<a name="spiStop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>public&nbsp;void&nbsp;spiStop()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
assumes that this SPI is finished and all resources acquired by it
are released.
<p>
<b>
Note that this method can be called at any point including during
recovery of failed start. It should make no assumptions on what state SPI
will be in when this method is called.
</b></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop--">spiStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd>
</dl>
</li>
</ul>
<a name="clientReconnect--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clientReconnect</h4>
<pre>public&nbsp;void&nbsp;clientReconnect()
throws <a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clientReconnect</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code></dd>
</dl>
</li>
</ul>
<a name="allNodesSupport-org.apache.ignite.internal.IgniteFeatures-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allNodesSupport</h4>
<pre>public&nbsp;boolean&nbsp;allNodesSupport(org.apache.ignite.internal.IgniteFeatures&nbsp;feature)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>allNodesSupport</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>feature</code> - Feature to check.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if all nodes support the given feature.</dd>
</dl>
</li>
</ul>
<a name="knownNode-java.util.UUID-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>knownNode</h4>
<pre>public&nbsp;boolean&nbsp;knownNode(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>knownNode</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nodeId</code> - Node ID.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if node joining or already joined topology.</dd>
</dl>
</li>
</ul>
<a name="clientReconnectSupported--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clientReconnectSupported</h4>
<pre>public&nbsp;boolean&nbsp;clientReconnectSupported()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clientReconnectSupported</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if SPI supports client reconnect.</dd>
</dl>
</li>
</ul>
<a name="supportsCommunicationFailureResolve--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsCommunicationFailureResolve</h4>
<pre>public&nbsp;boolean&nbsp;supportsCommunicationFailureResolve()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>supportsCommunicationFailureResolve</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if supports communication error resolve.</dd>
</dl>
</li>
</ul>
<a name="resolveCommunicationFailure-org.apache.ignite.cluster.ClusterNode-java.lang.Exception-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveCommunicationFailure</h4>
<pre>public&nbsp;void&nbsp;resolveCommunicationFailure(<a href="../../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&nbsp;node,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a>&nbsp;err)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>resolveCommunicationFailure</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Problem node.</dd>
<dd><code>err</code> - Connection error.</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><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span>&nbsp;lsnr)</pre>
<div class="block"><strong>FOR TEST ONLY!!!</strong></div>
</li>
</ul>
<a name="setInternalListener-org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpiInternalListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInternalListener</h4>
<pre>public&nbsp;void&nbsp;setInternalListener(org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpiInternalListener&nbsp;lsnr)</pre>
<div class="block">For TESTING only.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>setInternalListener</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lsnr</code> - Listener.</dd>
</dl>
</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><span class='angle_bracket'>&lt;</span>org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryAbstractMessage<span class='angle_bracket'>&gt;</span>&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><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span>&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><span class='angle_bracket'>&lt;</span><a href="https://docs.oracle.com/javase/8/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a><span class='angle_bracket'>&gt;</span>&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>public&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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>simulateNodeFailure</code>&nbsp;in interface&nbsp;<code>org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi</code></dd>
</dl>
</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="isLocalNodeCoordinator--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLocalNodeCoordinator</h4>
<pre>public&nbsp;boolean&nbsp;isLocalNodeCoordinator()</pre>
<div class="block">Checks whether local node is coordinator. Nodes that are leaving or failed
(but are still in topology) are removed from search.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if local node is coordinator.</dd>
</dl>
</li>
</ul>
<a name="marshaller--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshaller</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/ignite/marshaller/Marshaller.html" title="interface in org.apache.ignite.marshaller">Marshaller</a>&nbsp;marshaller()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Marshaller.</dd>
</dl>
</li>
</ul>
<a name="setName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setName</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>&nbsp;setName(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
<div class="block">Sets SPI name.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName-java.lang.String-">setName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - SPI name.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>this</code> for chaining.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/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>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiMBean.html" title="interface in org.apache.ignite.spi.discovery.tcp"><span class="typeNameLink">Next&nbsp;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&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.11.1</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 20 2021 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>