blob: 257a81b0c29554dfa418dcaba4005b605722b52e [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.0/dotnetdoc/api/Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Class TcpCommunicationSpi
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Class TcpCommunicationSpi
| Apache Ignite.NET ">
<meta name="generator" content="docfx 2.24.0.0">
<link rel="shortcut icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/docfx.vendor.css">
<link rel="stylesheet" href="../styles/docfx.css">
<link rel="stylesheet" href="../styles/main.css">
<meta property="docfx:navrel" content="../toc.html">
<meta property="docfx:tocrel" content="toc.html">
<meta property="docfx:rel" content="../">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body data-spy="scroll" data-target="#affix">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div class="container body-content">
<div id="search-results">
<div class="search-list"></div>
<div class="sr-items"></div>
<ul id="pagination"></ul>
</div>
</div>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi">
<h1 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi" class="text-break">Class TcpCommunicationSpi
</h1>
<div class="markdown level0 summary"><p><a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html">TcpCommunicationSpi</a> is default communication SPI which uses
TCP/IP protocol and Java NIO to communicate with other nodes.
<p>
At startup, this SPI tries to start listening to local port specified by
<a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort">LocalPort</a> property. If local port is occupied, then SPI will
automatically increment the port number until it can successfully bind for
listening. <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPortRange">LocalPortRange</a> configuration parameter controls
maximum number of ports that SPI will try before it fails. Port range comes
very handy when starting multiple grid nodes on the same machine or even
in the same VM. In this case all nodes can be brought up without a single
change in configuration.</p>
</div>
<div class="markdown level0 conceptual"></div>
<div class="inheritance">
<h5>Inheritance</h5>
<div class="level0"><span class="xref">System.Object</span></div>
<div class="level1"><span class="xref">TcpCommunicationSpi</span></div>
</div>
<div classs="implements">
<h5>Implements</h5>
<div><a class="xref" href="Apache.Ignite.Core.Communication.ICommunicationSpi.html">ICommunicationSpi</a></div>
</div>
<div class="inheritedMembers">
<h5>Inherited Members</h5>
<div>
<span class="xref">System.Object.ToString()</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object)</span>
</div>
<div>
<span class="xref">System.Object.Equals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
</div>
<div>
<span class="xref">System.Object.GetHashCode()</span>
</div>
<div>
<span class="xref">System.Object.GetType()</span>
</div>
<div>
<span class="xref">System.Object.MemberwiseClone()</span>
</div>
</div>
<h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.html">Apache.Ignite.Core.Communication.Tcp</a></h6>
<h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
<h5 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class TcpCommunicationSpi : ICommunicationSpi</code></pre>
</div>
<h3 id="constructors">Constructors
</h3>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi__ctor_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.#ctor*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi__ctor" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.#ctor">TcpCommunicationSpi()</h4>
<div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html">TcpCommunicationSpi</a> class.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TcpCommunicationSpi()</code></pre>
</div>
<h3 id="fields">Fields
</h3>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultAckSendThreshold" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultAckSendThreshold">DefaultAckSendThreshold</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_AckSendThreshold">AckSendThreshold</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultAckSendThreshold = 16</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultConnectTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultConnectTimeout">DefaultConnectTimeout</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ConnectTimeout">ConnectTimeout</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultConnectTimeout</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultDirectBuffer" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultDirectBuffer">DefaultDirectBuffer</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectBuffer">DirectBuffer</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const bool DefaultDirectBuffer = true</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultDirectSendBuffer" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultDirectSendBuffer">DefaultDirectSendBuffer</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectSendBuffer">DirectSendBuffer</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const bool DefaultDirectSendBuffer = false</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultIdleConnectionTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultIdleConnectionTimeout">DefaultIdleConnectionTimeout</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_IdleConnectionTimeout">IdleConnectionTimeout</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultIdleConnectionTimeout</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultLocalPort" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultLocalPort">DefaultLocalPort</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort">LocalPort</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultLocalPort = 47100</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultLocalPortRange" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultLocalPortRange">DefaultLocalPortRange</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPortRange">LocalPortRange</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultLocalPortRange = 100</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultMaxConnectTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultMaxConnectTimeout">DefaultMaxConnectTimeout</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MaxConnectTimeout">MaxConnectTimeout</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultMaxConnectTimeout</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultMessageQueueLimit" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultMessageQueueLimit">DefaultMessageQueueLimit</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MessageQueueLimit">MessageQueueLimit</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultMessageQueueLimit = 1024</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultReconnectCount" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultReconnectCount">DefaultReconnectCount</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ReconnectCount">ReconnectCount</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultReconnectCount = 10</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultSelectorsCount" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultSelectorsCount">DefaultSelectorsCount</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SelectorsCount">SelectorsCount</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static readonly int DefaultSelectorsCount</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultSocketBufferSize" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultSocketBufferSize">DefaultSocketBufferSize</h4>
<div class="markdown level1 summary"><p>Default socket buffer size. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const int DefaultSocketBufferSize = 32768</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultTcpNoDelay" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DefaultTcpNoDelay">DefaultTcpNoDelay</h4>
<div class="markdown level1 summary"><p>Default value of <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_TcpNoDelay">TcpNoDelay</a> property. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const bool DefaultTcpNoDelay = true</code></pre>
</div>
<h5 class="fieldValue">Field Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="properties">Properties
</h3>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_AckSendThreshold_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.AckSendThreshold*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_AckSendThreshold" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.AckSendThreshold">AckSendThreshold</h4>
<div class="markdown level1 summary"><p>Gets or sets the number of received messages per connection to node
after which acknowledgment message is sent.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int AckSendThreshold { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ConnectTimeout_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.ConnectTimeout*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ConnectTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.ConnectTimeout">ConnectTimeout</h4>
<div class="markdown level1 summary"><p>Gets or sets the connect timeout used when establishing connection with remote nodes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TimeSpan ConnectTimeout { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectBuffer_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DirectBuffer*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectBuffer" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DirectBuffer">DirectBuffer</h4>
<div class="markdown level1 summary"><p>Gets or sets a value indicating whether to allocate direct (ByteBuffer.allocateDirect)
or heap (ByteBuffer.allocate) buffer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool DirectBuffer { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectSendBuffer_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DirectSendBuffer*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DirectSendBuffer" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.DirectSendBuffer">DirectSendBuffer</h4>
<div class="markdown level1 summary"><p>Gets or sets a value indicating whether to allocate direct (ByteBuffer.allocateDirect)
or heap (ByteBuffer.allocate) send buffer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool DirectSendBuffer { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_IdleConnectionTimeout_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.IdleConnectionTimeout*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_IdleConnectionTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.IdleConnectionTimeout">IdleConnectionTimeout</h4>
<div class="markdown level1 summary"><p>Sets maximum idle connection timeout upon which a connection to client will be closed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TimeSpan IdleConnectionTimeout { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalAddress_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalAddress*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalAddress" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalAddress">LocalAddress</h4>
<div class="markdown level1 summary"><p>Gets or sets the local host address for socket binding. Note that one node could have
additional addresses beside the loopback one. This configuration parameter is optional.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string LocalAddress { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.String</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalPort*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalPort">LocalPort</h4>
<div class="markdown level1 summary"><p>Gets or sets the local port for socket binding.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int LocalPort { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPortRange_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalPortRange*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPortRange" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.LocalPortRange">LocalPortRange</h4>
<div class="markdown level1 summary"><p>Gets or sets local port range for local host ports (value must greater than or equal to <tt>0</tt>).
If provided local port <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort">LocalPort</a> is occupied,
implementation will try to increment the port number for as long as it is less than
initial value plus this range.
<p>
If port range value is <code>0</code>, then implementation will try bind only to the port provided by
<a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_LocalPort">LocalPort</a> method and fail if binding to this port did not succeed.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int LocalPortRange { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MaxConnectTimeout_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.MaxConnectTimeout*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MaxConnectTimeout" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.MaxConnectTimeout">MaxConnectTimeout</h4>
<div class="markdown level1 summary"><p>Gets or sets maximum connect timeout. If handshake is not established within connect timeout,
then SPI tries to repeat handshake procedure with increased connect timeout.
Connect timeout can grow till maximum timeout value,
if maximum timeout value is reached then the handshake is considered as failed.
<p>
<code>0</code> is interpreted as infinite timeout.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public TimeSpan MaxConnectTimeout { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.TimeSpan</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MessageQueueLimit_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.MessageQueueLimit*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MessageQueueLimit" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.MessageQueueLimit">MessageQueueLimit</h4>
<div class="markdown level1 summary"><p>Gets or sets the message queue limit for incoming and outgoing messages.
<p>
When set to positive number send queue is limited to the configured value.
<code>0</code> disables the limitation.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int MessageQueueLimit { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ReconnectCount_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.ReconnectCount*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_ReconnectCount" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.ReconnectCount">ReconnectCount</h4>
<div class="markdown level1 summary"><p>Gets or sets the maximum number of reconnect attempts used when establishing connection with remote nodes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int ReconnectCount { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SelectorsCount_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SelectorsCount*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SelectorsCount" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SelectorsCount">SelectorsCount</h4>
<div class="markdown level1 summary"><p>Gets or sets the count of selectors te be used in TCP server.
<p>
Default value is <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_DefaultSelectorsCount">DefaultSelectorsCount</a>, which is calculated as
<code>Math.Min(4, Environment.ProcessorCount)</code></p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int SelectorsCount { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SlowClientQueueLimit_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SlowClientQueueLimit*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SlowClientQueueLimit" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SlowClientQueueLimit">SlowClientQueueLimit</h4>
<div class="markdown level1 summary"><p>Gets or sets slow client queue limit.
<p>
When set to a positive number, communication SPI will monitor clients outbound message queue sizes
and will drop those clients whose queue exceeded this limit.
<p>
Usually this value should be set to the same value as <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html#Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_MessageQueueLimit">MessageQueueLimit</a> which controls
message back-pressure for server nodes. The default value for this parameter is <code>0</code>
which means unlimited.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int SlowClientQueueLimit { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SocketReceiveBufferSize_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SocketReceiveBufferSize*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SocketReceiveBufferSize" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SocketReceiveBufferSize">SocketReceiveBufferSize</h4>
<div class="markdown level1 summary"><p>Gets or sets the size of the socket receive buffer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int SocketReceiveBufferSize { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SocketSendBufferSize_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SocketSendBufferSize*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_SocketSendBufferSize" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.SocketSendBufferSize">SocketSendBufferSize</h4>
<div class="markdown level1 summary"><p>Gets or sets the size of the socket send buffer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int SocketSendBufferSize { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_TcpNoDelay_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.TcpNoDelay*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_TcpNoDelay" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.TcpNoDelay">TcpNoDelay</h4>
<div class="markdown level1 summary"><p>Gets or sets the value for <code>TCP_NODELAY</code> socket option. Each
socket will be opened using provided value.
<p>
Setting this option to <code>true</code> disables Nagle&apos;s algorithm
for socket decreasing latency and delivery time for small messages.
<p>
For systems that work under heavy network load it is advisable to set this value to <code>false</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool TcpNoDelay { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_UnacknowledgedMessagesBufferSize_" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.UnacknowledgedMessagesBufferSize*"></a>
<h4 id="Apache_Ignite_Core_Communication_Tcp_TcpCommunicationSpi_UnacknowledgedMessagesBufferSize" data-uid="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.UnacknowledgedMessagesBufferSize">UnacknowledgedMessagesBufferSize</h4>
<div class="markdown level1 summary"><p>Gets or sets the maximum number of stored unacknowledged messages per connection to node.
If number of unacknowledged messages exceeds this number
then connection to node is closed and reconnect is attempted.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public int UnacknowledgedMessagesBufferSize { get; set; }</code></pre>
</div>
<h5 class="propertyValue">Property Value</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="xref">System.Int32</span></td>
<td></td>
</tr>
</tbody>
</table>
<h3 id="implements">Implements</h3>
<div>
<a class="xref" href="Apache.Ignite.Core.Communication.ICommunicationSpi.html">ICommunicationSpi</a>
</div>
</article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
© 2015 - 2018 The Apache Software Foundation
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../styles/docfx.js"></script>
<script type="text/javascript" src="../styles/main.js"></script>
</body>
</html>