blob: c04a0b8a33be2db559e9ef26ffbb762174915dcf [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.5.0/dotnetdoc/api/Apache.Ignite.Core.Cluster.IClusterNode.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Interface IClusterNode
| Apache Ignite.NET </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Interface IClusterNode
| 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.Cluster.IClusterNode">
<h1 id="Apache_Ignite_Core_Cluster_IClusterNode" data-uid="Apache.Ignite.Core.Cluster.IClusterNode" class="text-break">Interface IClusterNode
</h1>
<div class="markdown level0 summary"><p>Interface representing a single cluster node. Use <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterNode.html#Apache_Ignite_Core_Cluster_IClusterNode_GetAttribute__1_System_String_">GetAttribute&lt;T&gt;(String)</a> or
<a class="xref" href="Apache.Ignite.Core.Cluster.IClusterNode.html#Apache_Ignite_Core_Cluster_IClusterNode_GetMetrics">GetMetrics()</a> to get static and dynamic information about remote nodes.
You can get a list of all nodes in grid by calling <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterGroup.html#Apache_Ignite_Core_Cluster_IClusterGroup_GetNodes">GetNodes()</a>
on <a class="xref" href="Apache.Ignite.Core.IIgnite.html">IIgnite</a> instance.
<p>
You can use Ignite node attributes to provide static information about a node.
This information is initialized once within grid, during node startup, and
remains the same throughout the lifetime of a node.
<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.IBaselineNode.html#Apache_Ignite_Core_Cluster_IBaselineNode_ConsistentId">IBaselineNode.ConsistentId</a>
</div>
<div>
<a class="xref" href="Apache.Ignite.Core.Cluster.IBaselineNode.html#Apache_Ignite_Core_Cluster_IBaselineNode_Attributes">IBaselineNode.Attributes</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_IClusterNode_syntax">Syntax</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public interface IClusterNode : IBaselineNode</code></pre>
</div>
<h3 id="properties">Properties
</h3>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_Addresses_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Addresses*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_Addresses" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Addresses">Addresses</h4>
<div class="markdown level1 summary"><p>Collection of addresses this node is known by. </p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ICollection&lt;string&gt; Addresses { 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.Collections.Generic.ICollection</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>Collection of addresses.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_HostNames_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.HostNames*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_HostNames" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.HostNames">HostNames</h4>
<div class="markdown level1 summary"><p>Collection of host names this node is known by.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">ICollection&lt;string&gt; HostNames { 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.Collections.Generic.ICollection</span>&lt;<span class="xref">System.String</span>&gt;</td>
<td><p>Collection of host names.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_Id_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Id*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_Id" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Id">Id</h4>
<div class="markdown level1 summary"><p>Globally unique node ID. A new ID is generated every time a node restarts.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">Guid Id { 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.Guid</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_IsClient_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsClient*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_IsClient" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsClient">IsClient</h4>
<div class="markdown level1 summary"><p>Gets a value indicating whether or not this node is connected to cluster as a client.
<p>
Do not confuse client in terms of discovery and client in terms of cache.
Cache clients cannot carry data, while topology clients connect to the topology in a different way.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">bool IsClient { 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.Boolean</span></td>
<td><p><code>true</code> if this node is a client node, <code>false otherwise.</code>.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_IsDaemon_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsDaemon*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_IsDaemon" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsDaemon">IsDaemon</h4>
<div class="markdown level1 summary"><p>Tests whether or not this node is a daemon.
<p>
Daemon nodes are the usual Ignite nodes that participate in topology but not
visible on the main APIs, i.e. they are not part of any projections.
<p>
Daemon nodes are used primarily for management and monitoring functionality that
is build on Ignite and needs to participate in the topology but should be
excluded from &quot;normal&quot; topology so that it won&apos;t participate in task execution
or in-memory database.
<p>
Application code should never use daemon nodes.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">bool IsDaemon { 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.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_IsLocal_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsLocal*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_IsLocal" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.IsLocal">IsLocal</h4>
<div class="markdown level1 summary"><p>Tests whether or not this node is a local node.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">bool IsLocal { 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.Boolean</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_Order_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Order*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_Order" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.Order">Order</h4>
<div class="markdown level1 summary"><p>Node order within grid topology. Discovery SPIs that support node ordering will
assign a proper order to each node and will guarantee that discovery event notifications
for new nodes will come in proper order. All other SPIs not supporting ordering
may choose to return node startup time here.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">long Order { 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></td>
</tr>
</tbody>
</table>
<h3 id="methods">Methods
</h3>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_GetAttribute_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetAttribute*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_GetAttribute__1_System_String_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetAttribute``1(System.String)">GetAttribute&lt;T&gt;(String)</h4>
<div class="markdown level1 summary"><p>Gets node&apos;s attribute. Attributes are assigned to nodes at startup.
<p>
Note that attributes cannot be changed at runtime.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">T GetAttribute&lt;T&gt;(string name)</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.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>Attribute name.</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">T</span></td>
<td><p>Attribute value.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_GetAttributes_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetAttributes*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_GetAttributes" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetAttributes">GetAttributes()</h4>
<div class="markdown level1 summary"><p>Gets all node attributes. Attributes are assigned to nodes at startup.
<p>
Note that attributes cannot be changed at runtime.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">[Obsolete(&quot;Use Attributes property.&quot;)]
IDictionary&lt;string, object&gt; GetAttributes()</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><span class="xref">System.Collections.Generic.IDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">System.Object</span>&gt;</td>
<td><p>All node attributes.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_GetMetrics_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetMetrics*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_GetMetrics" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.GetMetrics">GetMetrics()</h4>
<div class="markdown level1 summary"><p>Gets metrics snapshot for this node. Note that node metrics are constantly updated
and provide up to date information about nodes. For example, you can get
an idea about CPU load on remote node via <a class="xref" href="Apache.Ignite.Core.Cluster.IClusterMetrics.html#Apache_Ignite_Core_Cluster_IClusterMetrics_CurrentCpuLoad">CurrentCpuLoad</a>.
<p>
Node metrics are updated with some delay which is directly related to heartbeat
frequency. For example, when used with default <code>GridTcpDiscoverySpi</code> the
update will happen every <code>2</code> seconds.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">IClusterMetrics GetMetrics()</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.IClusterMetrics.html">IClusterMetrics</a></td>
<td><p>Runtime metrics snapshot for this node.</p>
</td>
</tr>
</tbody>
</table>
<a id="Apache_Ignite_Core_Cluster_IClusterNode_TryGetAttribute_" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.TryGetAttribute*"></a>
<h4 id="Apache_Ignite_Core_Cluster_IClusterNode_TryGetAttribute__1_System_String___0__" data-uid="Apache.Ignite.Core.Cluster.IClusterNode.TryGetAttribute``1(System.String,``0@)">TryGetAttribute&lt;T&gt;(String, out T)</h4>
<div class="markdown level1 summary"><p>Try getting node&apos;s attribute. Attributes are assigned to nodes at startup.
<p>
Note that attributes cannot be changed at runtime.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="decalaration">Declaration</h5>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">bool TryGetAttribute&lt;T&gt;(string name, out T attr)</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.String</span></td>
<td><span class="parametername">name</span></td>
<td><p>Attribute name.</p>
</td>
</tr>
<tr>
<td><span class="xref">T</span></td>
<td><span class="parametername">attr</span></td>
<td><p>Attribute value.</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><code>true</code> in case such attribute exists.</p>
</td>
</tr>
</tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="parametername">T</span></td>
<td></td>
</tr>
</tbody>
</table>
</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>