blob: 029948e89b4ffddfcda0fb6c54911f752591bf1e [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>
<link rel="canonical" href="https://ignite.apache.org/releases/2.0.0/javadoc/org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (version 1.7.0_80) on Sun Apr 30 12:27:12 MSK 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PlatformDotNetAffinityFunction (Ignite 2.0.0)</title>
<meta name="date" content="2017-04-30">
<link rel="stylesheet" type="text/css" href="../../../../../javadoc.css" title="Style">
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PlatformDotNetAffinityFunction (Ignite 2.0.0)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PlatformDotNetAffinityFunction.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.html" title="class in org.apache.ignite.platform.dotnet"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" target="_top">Frames</a></li>
<li><a href="PlatformDotNetAffinityFunction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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.platform.dotnet</div>
<h2 title="Class PlatformDotNetAffinityFunction" class="title">Class PlatformDotNetAffinityFunction</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.platform.dotnet.PlatformDotNetAffinityFunction</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a>, <a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html" title="interface in org.apache.ignite.lifecycle">LifecycleAware</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">PlatformDotNetAffinityFunction</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html" title="interface in org.apache.ignite.lifecycle">LifecycleAware</a></pre>
<div class="block">AffinityFunction implementation which can be used to configure .NET affinity function in Java Spring configuration.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.ignite.platform.dotnet.PlatformDotNetAffinityFunction">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#PlatformDotNetAffinityFunction()">PlatformDotNetAffinityFunction</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#assignPartitions(org.apache.ignite.cache.affinity.AffinityFunctionContext)">assignPartitions</a></strong>(<a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunctionContext.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunctionContext</a>&nbsp;affCtx)</code>
<div class="block">Gets affinity nodes for a partition.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#getFunc()">getFunc</a></strong>()</code>
<div class="block">Gets the inner func.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#getProperties()">getProperties</a></strong>()</code>
<div class="block">Get properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#getTypeName()">getTypeName</a></strong>()</code>
<div class="block">Gets .NET type name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#init(org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction)">init</a></strong>(org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction&nbsp;func)</code>
<div class="block">Initializes this instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#partition(java.lang.Object)">partition</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</code>
<div class="block">Gets partition number for a given key starting from <code>0</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#partitions()">partitions</a></strong>()</code>
<div class="block">Gets total number of partitions available.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#readExternal(java.io.ObjectInput)">readExternal</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#removeNode(java.util.UUID)">removeNode</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</code>
<div class="block">Removes node from affinity.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#reset()">reset</a></strong>()</code>
<div class="block">Resets cache affinity to its initial state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" title="class in org.apache.ignite.platform.dotnet">PlatformDotNetAffinityFunction</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#setProperties(java.util.Map)">setProperties</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;props)</code>
<div class="block">Set properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" title="class in org.apache.ignite.platform.dotnet">PlatformDotNetAffinityFunction</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#setTypeName(java.lang.String)">setTypeName</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typName)</code>
<div class="block">Sets .NET type name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#start()">start</a></strong>()</code>
<div class="block">Starts grid component, called on grid start.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#stop()">stop</a></strong>()</code>
<div class="block">Stops grid component, called on grid shutdown.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html#writeExternal(java.io.ObjectOutput)">writeExternal</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PlatformDotNetAffinityFunction()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PlatformDotNetAffinityFunction</h4>
<pre>public&nbsp;PlatformDotNetAffinityFunction()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getTypeName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeName</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getTypeName()</pre>
<div class="block">Gets .NET type name.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>.NET type name.</dd></dl>
</li>
</ul>
<a name="setTypeName(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTypeName</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" title="class in org.apache.ignite.platform.dotnet">PlatformDotNetAffinityFunction</a>&nbsp;setTypeName(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;typName)</pre>
<div class="block">Sets .NET type name.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>typName</code> - .NET type name.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="getProperties()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperties</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;getProperties()</pre>
<div class="block">Get properties.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Properties.</dd></dl>
</li>
</ul>
<a name="setProperties(java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperties</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" title="class in org.apache.ignite.platform.dotnet">PlatformDotNetAffinityFunction</a>&nbsp;setProperties(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,?&gt;&nbsp;props)</pre>
<div class="block">Set properties.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>props</code> - Properties.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>this</code> for chaining.</dd></dl>
</li>
</ul>
<a name="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Resets cache affinity to its initial state. This method will be called by
the system any time the affinity has been sent to remote node where
it has to be reinitialized. If your implementation of affinity function
has no initialization logic, leave this method empty.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#reset()">reset</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a></code></dd>
</dl>
</li>
</ul>
<a name="partitions()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partitions</h4>
<pre>public&nbsp;int&nbsp;partitions()</pre>
<div class="block">Gets total number of partitions available. All caches should always provide
correct partition count which should be the same on all participating nodes.
Note that partitions should always be numbered from <code>0</code> inclusively to
<code>N</code> exclusively without any gaps.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#partitions()">partitions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Total partition count.</dd></dl>
</li>
</ul>
<a name="partition(java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>partition</h4>
<pre>public&nbsp;int&nbsp;partition(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;key)</pre>
<div class="block">Gets partition number for a given key starting from <code>0</code>. Partitioned caches
should make sure that keys are about evenly distributed across all partitions
from <code>0</code> to <a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#partitions()"><code>partition count</code></a> for best performance.
<p>
Note that for fully replicated caches it is possible to segment key sets among different
grid node groups. In that case each node group should return a unique partition
number. However, unlike partitioned cache, mappings of keys to nodes in
replicated caches are constant and a node cannot migrate from one partition
to another.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#partition(java.lang.Object)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - Key to get partition for.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Partition number for a given key.</dd></dl>
</li>
</ul>
<a name="assignPartitions(org.apache.ignite.cache.affinity.AffinityFunctionContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assignPartitions</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/ignite/cluster/ClusterNode.html" title="interface in org.apache.ignite.cluster">ClusterNode</a>&gt;&gt;&nbsp;assignPartitions(<a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunctionContext.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunctionContext</a>&nbsp;affCtx)</pre>
<div class="block">Gets affinity nodes for a partition. In case of replicated cache, all returned
nodes are updated in the same manner. In case of partitioned cache, the returned
list should contain only the primary and back up nodes with primary node being
always first.
<p>
Note that partitioned affinity must obey the following contract: given that node
<code>N</code> is primary for some key <code>K</code>, if any other node(s) leave
grid and no node joins grid, node <code>N</code> will remain primary for key <code>K</code>.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#assignPartitions(org.apache.ignite.cache.affinity.AffinityFunctionContext)">assignPartitions</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>affCtx</code> - Affinity function context. Will provide all required information to calculate
new partition assignments.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Unmodifiable list indexed by partition number. Each element of array is a collection in which
first node is a primary node and other nodes are backup nodes.</dd></dl>
</li>
</ul>
<a name="removeNode(java.util.UUID)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeNode</h4>
<pre>public&nbsp;void&nbsp;removeNode(<a href="http://docs.oracle.com/javase/7/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;nodeId)</pre>
<div class="block">Removes node from affinity. This method is called when it is safe to remove left node from
affinity mapping.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html#removeNode(java.util.UUID)">removeNode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/cache/affinity/AffinityFunction.html" title="interface in org.apache.ignite.cache.affinity">AffinityFunction</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>nodeId</code> - ID of node to remove.</dd></dl>
</li>
</ul>
<a name="writeExternal(java.io.ObjectOutput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeExternal</h4>
<pre>public&nbsp;void&nbsp;writeExternal(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true#writeExternal(java.io.ObjectOutput)" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
</li>
</ul>
<a name="readExternal(java.io.ObjectInput)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readExternal</h4>
<pre>public&nbsp;void&nbsp;readExternal(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)
throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true#readExternal(java.io.ObjectInput)" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd></dl>
</li>
</ul>
<a name="init(org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init(org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction&nbsp;func)</pre>
<div class="block">Initializes this instance.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>func</code> - Underlying func.</dd></dl>
</li>
</ul>
<a name="start()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()
throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Starts grid component, called on grid start.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html#start()">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html" title="interface in org.apache.ignite.lifecycle">LifecycleAware</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed.</dd></dl>
</li>
</ul>
<a name="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()
throws <a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></pre>
<div class="block">Stops grid component, called on grid shutdown.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html#stop()">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/ignite/lifecycle/LifecycleAware.html" title="interface in org.apache.ignite.lifecycle">LifecycleAware</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/ignite/IgniteException.html" title="class in org.apache.ignite">IgniteException</a></code> - If failed.</dd></dl>
</li>
</ul>
<a name="getFunc()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getFunc</h4>
<pre>public&nbsp;org.apache.ignite.internal.processors.platform.cache.affinity.PlatformAffinityFunction&nbsp;getFunc()</pre>
<div class="block">Gets the inner func.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The inner func.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PlatformDotNetAffinityFunction.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em>Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../org/apache/ignite/platform/dotnet/PlatformDotNetBinaryConfiguration.html" title="class in org.apache.ignite.platform.dotnet"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/ignite/platform/dotnet/PlatformDotNetAffinityFunction.html" target="_top">Frames</a></li>
<li><a href="PlatformDotNetAffinityFunction.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>Field&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>2017 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 Fabric</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.0.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; April 30 2017 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>