blob: 6b698e714f1b6ad9a351b56b7d75922e8080559a [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/1.8.0/javadoc/org/apache/ignite/spi/IgniteSpi.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (version 1.7.0_80) on Mon Dec 05 14:49:07 MSK 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>IgniteSpi (Ignite 1.8.0)</title>
<meta name="date" content="2016-12-05">
<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="IgniteSpi (Ignite 1.8.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/IgniteSpi.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><a href="../../../../org/apache/ignite/spi/IgnitePortProtocol.html" title="enum in org.apache.ignite.spi"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/spi/IgniteSpi.html" target="_top">Frames</a></li>
<li><a href="IgniteSpi.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>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.spi</div>
<h2 title="Interface IgniteSpi" class="title">Interface IgniteSpi</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/ignite/spi/checkpoint/CheckpointSpi.html" title="interface in org.apache.ignite.spi.checkpoint">CheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/communication/CommunicationSpi.html" title="interface in org.apache.ignite.spi.communication">CommunicationSpi</a>&lt;T&gt;, <a href="../../../../org/apache/ignite/spi/deployment/DeploymentSpi.html" title="interface in org.apache.ignite.spi.deployment">DeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/discovery/DiscoverySpi.html" title="interface in org.apache.ignite.spi.discovery">DiscoverySpi</a>, <a href="../../../../org/apache/ignite/spi/eventstorage/EventStorageSpi.html" title="interface in org.apache.ignite.spi.eventstorage">EventStorageSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/FailoverSpi.html" title="interface in org.apache.ignite.spi.failover">FailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/indexing/IndexingSpi.html" title="interface in org.apache.ignite.spi.indexing">IndexingSpi</a>, <a href="../../../../org/apache/ignite/spi/loadbalancing/LoadBalancingSpi.html" title="interface in org.apache.ignite.spi.loadbalancing">LoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/swapspace/SwapSpaceSpi.html" title="interface in org.apache.ignite.spi.swapspace">SwapSpaceSpi</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/ignite/spi/loadbalancing/adaptive/AdaptiveLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.adaptive">AdaptiveLoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/always/AlwaysFailoverSpi.html" title="class in org.apache.ignite.spi.failover.always">AlwaysFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/cache/CacheCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.cache">CacheCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/swapspace/file/FileSwapSpaceSpi.html" title="class in org.apache.ignite.spi.swapspace.file">FileSwapSpaceSpi</a>, <a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/jdbc/JdbcCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.jdbc">JdbcCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/jobstealing/JobStealingCollisionSpi.html" title="class in org.apache.ignite.spi.collision.jobstealing">JobStealingCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/jobstealing/JobStealingFailoverSpi.html" title="class in org.apache.ignite.spi.failover.jobstealing">JobStealingFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/deployment/local/LocalDeploymentSpi.html" title="class in org.apache.ignite.spi.deployment.local">LocalDeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/eventstorage/memory/MemoryEventStorageSpi.html" title="class in org.apache.ignite.spi.eventstorage.memory">MemoryEventStorageSpi</a>, <a href="../../../../org/apache/ignite/spi/failover/never/NeverFailoverSpi.html" title="class in org.apache.ignite.spi.failover.never">NeverFailoverSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/noop/NoopCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.noop">NoopCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/noop/NoopCollisionSpi.html" title="class in org.apache.ignite.spi.collision.noop">NoopCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/indexing/noop/NoopIndexingSpi.html" title="class in org.apache.ignite.spi.indexing.noop">NoopIndexingSpi</a>, <a href="../../../../org/apache/ignite/spi/swapspace/noop/NoopSwapSpaceSpi.html" title="class in org.apache.ignite.spi.swapspace.noop">NoopSwapSpaceSpi</a>, <a href="../../../../org/apache/ignite/spi/collision/priorityqueue/PriorityQueueCollisionSpi.html" title="class in org.apache.ignite.spi.collision.priorityqueue">PriorityQueueCollisionSpi</a>, <a href="../../../../org/apache/ignite/spi/loadbalancing/roundrobin/RoundRobinLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.roundrobin">RoundRobinLoadBalancingSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/s3/S3CheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.s3">S3CheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/checkpoint/sharedfs/SharedFsCheckpointSpi.html" title="class in org.apache.ignite.spi.checkpoint.sharedfs">SharedFsCheckpointSpi</a>, <a href="../../../../org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.html" title="class in org.apache.ignite.spi.communication.tcp">TcpCommunicationSpi</a>, <a href="../../../../org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.html" title="class in org.apache.ignite.spi.discovery.tcp">TcpDiscoverySpi</a>, <a href="../../../../org/apache/ignite/spi/deployment/uri/UriDeploymentSpi.html" title="class in org.apache.ignite.spi.deployment.uri">UriDeploymentSpi</a>, <a href="../../../../org/apache/ignite/spi/loadbalancing/weightedrandom/WeightedRandomLoadBalancingSpi.html" title="class in org.apache.ignite.spi.loadbalancing.weightedrandom">WeightedRandomLoadBalancingSpi</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">IgniteSpi</span></pre>
<div class="block">This interface defines life-cycle of SPI implementation. Every SPI implementation should implement
this interface. Kernal will not load SPI that doesn't implement this interface.
<p>
Grid SPI's can be injected using IoC (dependency injection)
with ignite resources. Both, field and method based injection are supported.
The following ignite resources can be injected:
<ul>
<li><a href="../../../../org/apache/ignite/resources/LoggerResource.html" title="annotation in org.apache.ignite.resources"><code>LoggerResource</code></a></li>
<li><a href="../../../../org/apache/ignite/resources/SpringApplicationContextResource.html" title="annotation in org.apache.ignite.resources"><code>SpringApplicationContextResource</code></a></li>
<li><a href="../../../../org/apache/ignite/resources/SpringResource.html" title="annotation in org.apache.ignite.resources"><code>SpringResource</code></a></li>
</ul>
Refer to corresponding resource documentation for more information.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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/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/spi/IgniteSpi.html#getName()">getName</a></strong>()</code>
<div class="block">Gets SPI name.</div>
</td>
</tr>
<tr class="rowColor">
<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>,<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>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes()">getNodeAttributes</a></strong>()</code>
<div class="block">This method is called before SPI starts (before method <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)"><code>spiStart(String)</code></a>
is called).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">onClientDisconnected</a></strong>(<a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;?&gt;&nbsp;reconnectFut)</code>
<div class="block">Client node disconnected callback.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#onClientReconnected(boolean)">onClientReconnected</a></strong>(boolean&nbsp;clusterRestarted)</code>
<div class="block">Client node reconnected callback.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed()">onContextDestroyed</a></strong>()</code>
<div class="block">Callback invoked prior to stopping grid before SPI context is destroyed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized</a></strong>(<a href="../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)</code>
<div class="block">Callback invoked when SPI context is initialized.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)">spiStart</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;gridName)</code>
<div class="block">This method is called to start SPI.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop()">spiStop</a></strong>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre><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;getName()</pre>
<div class="block">Gets SPI name.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>SPI name.</dd></dl>
</li>
</ul>
<a name="getNodeAttributes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNodeAttributes</h4>
<pre><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>,<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>&gt;&nbsp;getNodeAttributes()
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called before SPI starts (before method <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)"><code>spiStart(String)</code></a>
is called). It allows SPI implementation to add attributes to a local
node. Kernal collects these attributes from all SPI implementations
loaded up and then passes it to discovery SPI so that they can be
exchanged with other nodes.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Map of local node attributes this SPI wants to add.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error.</dd></dl>
</li>
</ul>
<a name="spiStart(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>void&nbsp;spiStart(@Nullable
<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;gridName)
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to start SPI. After this method returns
successfully kernel assumes that SPI is fully operational.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>gridName</code> - Name of grid instance this SPI is being started for
(<code>null</code> for default grid).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Throws in case of any error during SPI start.</dd></dl>
</li>
</ul>
<a name="onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextInitialized</h4>
<pre>void&nbsp;onContextInitialized(<a href="../../../../org/apache/ignite/spi/IgniteSpiContext.html" title="interface in org.apache.ignite.spi">IgniteSpiContext</a>&nbsp;spiCtx)
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">Callback invoked when SPI context is initialized. SPI implementation
may store SPI context for future access.
<p>
This method is invoked after <a href="../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)"><code>spiStart(String)</code></a> method is
completed, so SPI should be fully functional at this point. Use this
method for post-start initialization, such as subscribing a discovery
listener, sending a message to remote node, etc...</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>spiCtx</code> - Spi context.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - If context initialization failed (grid will be stopped).</dd></dl>
</li>
</ul>
<a name="onContextDestroyed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContextDestroyed</h4>
<pre>void&nbsp;onContextDestroyed()</pre>
<div class="block">Callback invoked prior to stopping grid before SPI context is destroyed.
Once this method is complete, grid will begin shutdown sequence. Use this
callback for de-initialization logic that may involve SPI context. Note that
invoking SPI context after this callback is complete is considered
illegal and may produce unknown results.
<p>
If <a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><code>IgniteSpiAdapter</code></a> is used for SPI implementation, then it will
replace actual context with dummy no-op context which is usually good-enough
since grid is about to shut down.</div>
</li>
</ul>
<a name="spiStop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>void&nbsp;spiStop()
throws <a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></pre>
<div class="block">This method is called to stop SPI. After this method returns kernel
assumes that this SPI is finished and all resources acquired by it
are released.
<p>
<b>
Note that this method can be called at any point including during
recovery of failed start. It should make no assumptions on what state SPI
will be in when this method is called.
</b></div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/ignite/spi/IgniteSpiException.html" title="class in org.apache.ignite.spi">IgniteSpiException</a></code> - Thrown in case of any error during SPI stop.</dd></dl>
</li>
</ul>
<a name="onClientDisconnected(org.apache.ignite.lang.IgniteFuture)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onClientDisconnected</h4>
<pre>void&nbsp;onClientDisconnected(<a href="../../../../org/apache/ignite/lang/IgniteFuture.html" title="interface in org.apache.ignite.lang">IgniteFuture</a>&lt;?&gt;&nbsp;reconnectFut)</pre>
<div class="block">Client node disconnected callback.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reconnectFut</code> - Future that will be completed when client reconnected.</dd></dl>
</li>
</ul>
<a name="onClientReconnected(boolean)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onClientReconnected</h4>
<pre>void&nbsp;onClientReconnected(boolean&nbsp;clusterRestarted)</pre>
<div class="block">Client node reconnected callback.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>clusterRestarted</code> - <code>True</code> if all cluster nodes restarted while client was disconnected.</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/IgniteSpi.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><a href="../../../../org/apache/ignite/spi/IgnitePortProtocol.html" title="enum in org.apache.ignite.spi"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/ignite/spi/IgniteSpi.html" target="_top">Frames</a></li>
<li><a href="IgniteSpi.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>Constr&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>Constr&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>2015 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> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </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>1.8.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; December 5 2016 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>