﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.3.0/dotnetdoc/api/Apache.Ignite.Core.Cluster.ICluster.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface ICluster
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface ICluster
   | 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="../">
    
  </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.Cluster.ICluster">
  
  
  <h1 id="Apache_Ignite_Core_Cluster_ICluster" data-uid="Apache.Ignite.Core.Cluster.ICluster" class="text-break">Interface ICluster
  </h1>
  <div class="markdown level0 summary"><p>Represents whole cluster (group of all nodes in a cluster).
<p>
All members are thread-safe and may be used concurrently from multiple threads.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_Ignite">IClusterGroup.Ignite</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetCompute">IClusterGroup.GetCompute()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForNodes_System_Collections_Generic_IEnumerable_Apache_Ignite_Core_Cluster_IClusterNode__">IClusterGroup.ForNodes(IEnumerable&lt;IClusterNode&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForNodes_Apache_Ignite_Core_Cluster_IClusterNode___">IClusterGroup.ForNodes(IClusterNode[])</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForNodeIds_System_Collections_Generic_IEnumerable_System_Guid__">IClusterGroup.ForNodeIds(IEnumerable&lt;Guid&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForNodeIds_System_Guid___">IClusterGroup.ForNodeIds(Guid[])</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForPredicate_System_Func_Apache_Ignite_Core_Cluster_IClusterNode_System_Boolean__">IClusterGroup.ForPredicate(Func&lt;IClusterNode, Boolean&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForAttribute_System_String_System_String_">IClusterGroup.ForAttribute(String, String)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForCacheNodes_System_String_">IClusterGroup.ForCacheNodes(String)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForDataNodes_System_String_">IClusterGroup.ForDataNodes(String)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForClientNodes_System_String_">IClusterGroup.ForClientNodes(String)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForRemotes">IClusterGroup.ForRemotes()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForDaemons">IClusterGroup.ForDaemons()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForHost_Apache_Ignite_Core_Cluster_IClusterNode_">IClusterGroup.ForHost(IClusterNode)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForRandom">IClusterGroup.ForRandom()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForOldest">IClusterGroup.ForOldest()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForYoungest">IClusterGroup.ForYoungest()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForDotNet">IClusterGroup.ForDotNet()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_ForServers">IClusterGroup.ForServers()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetNodes">IClusterGroup.GetNodes()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetNode_System_Guid_">IClusterGroup.GetNode(Guid)</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetNode">IClusterGroup.GetNode()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetMetrics">IClusterGroup.GetMetrics()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetMessaging">IClusterGroup.GetMessaging()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetEvents">IClusterGroup.GetEvents()</a>
    </div>
    <div>
      <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetServices">IClusterGroup.GetServices()</a>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Cluster.html">Apache.Ignite.Core.Cluster</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Cluster_ICluster_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface ICluster : IClusterGroup</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Cluster_ICluster_ClientReconnectTask_" data-uid="Apache.Ignite.Core.Cluster.ICluster.ClientReconnectTask*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_ClientReconnectTask" data-uid="Apache.Ignite.Core.Cluster.ICluster.ClientReconnectTask">ClientReconnectTask</h4>
  <div class="markdown level1 summary"><p>Gets the reconnect task, which will transition to Completed state 
when local client node reconnects to the cluster. 
<p>
Result of the task indicates whether cluster has been restarted.
<p>
If local node is not in client mode or is not disconnected, returns completed task.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; ClientReconnectTask { get; }</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.Threading.Tasks.Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
        <td><p>The reconnect task.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cluster_ICluster_TopologyVersion_" data-uid="Apache.Ignite.Core.Cluster.ICluster.TopologyVersion*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_TopologyVersion" data-uid="Apache.Ignite.Core.Cluster.ICluster.TopologyVersion">TopologyVersion</h4>
  <div class="markdown level1 summary"><p>Gets current topology version. In case of TCP discovery topology versions are sequential </p>
<ul>
<li>they start from 1 and get incremented every time whenever a node joins or leaves. 
For other discovery SPIs topology versions may not be (and likely are not) sequential.</li>
</ul>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">long TopologyVersion { get; }</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.Int64</span></td>
        <td><p>Current topology version.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Cluster_ICluster_ForLocal_" data-uid="Apache.Ignite.Core.Cluster.ICluster.ForLocal*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_ForLocal" data-uid="Apache.Ignite.Core.Cluster.ICluster.ForLocal">ForLocal()</h4>
  <div class="markdown level1 summary"><p>Gets monadic projection consisting from the local node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IClusterGroup ForLocal()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html">IClusterGroup</a></td>
        <td><p>Monadic projection consisting from the local node.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cluster_ICluster_GetLocalNode_" data-uid="Apache.Ignite.Core.Cluster.ICluster.GetLocalNode*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_GetLocalNode" data-uid="Apache.Ignite.Core.Cluster.ICluster.GetLocalNode">GetLocalNode()</h4>
  <div class="markdown level1 summary"><p>Gets local Ignite node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IClusterNode GetLocalNode()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cluster.IClusterNode.html">IClusterNode</a></td>
        <td><p>Local Ignite node.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cluster_ICluster_GetTopology_" data-uid="Apache.Ignite.Core.Cluster.ICluster.GetTopology*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_GetTopology_System_Int64_" data-uid="Apache.Ignite.Core.Cluster.ICluster.GetTopology(System.Int64)">GetTopology(Int64)</h4>
  <div class="markdown level1 summary"><p>Gets a topology by version. Returns null if topology history storage doesn&apos;t contain 
specified topology version (history currently keeps the last 1000 snapshots).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;IClusterNode&gt; GetTopology(long ver)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td><span class="parametername">ver</span></td>
        <td><p>Topology version.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cluster.IClusterNode.html">IClusterNode</a>&gt;</td>
        <td><p>Collection of Ignite nodes which represented by specified topology version, 
if it is present in history storage, null otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Common.IgniteException.html">IgniteException</a></td>
        <td><p>If underlying SPI implementation does not support 
topology history. Currently only <code>org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi</code>
supports topology history.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cluster_ICluster_PingNode_" data-uid="Apache.Ignite.Core.Cluster.ICluster.PingNode*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_PingNode_System_Guid_" data-uid="Apache.Ignite.Core.Cluster.ICluster.PingNode(System.Guid)">PingNode(Guid)</h4>
  <div class="markdown level1 summary"><p>Pings a remote node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool PingNode(Guid nodeId)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Guid</span></td>
        <td><span class="parametername">nodeId</span></td>
        <td><p>ID of a node to ping.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</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><p>True if node for a given ID is alive, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Cluster_ICluster_ResetMetrics_" data-uid="Apache.Ignite.Core.Cluster.ICluster.ResetMetrics*"></a>
  <h4 id="Apache_Ignite_Core_Cluster_ICluster_ResetMetrics" data-uid="Apache.Ignite.Core.Cluster.ICluster.ResetMetrics">ResetMetrics()</h4>
  <div class="markdown level1 summary"><p>Resets local I/O, job, and task execution metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void ResetMetrics()</code></pre>
  </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 - 2017 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>
