<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.0.0-rc3/javadoc/org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html" />
<!-- Generated by javadoc (version 1.7.0_21) on Tue Mar 24 10:27:32 MSK 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>FifoQueueCollisionSpi (Ignite 1.0.0-RC3)</title>
<meta name="date" content="2015-03-24">
<link rel="stylesheet" type="text/css" href="../../../../../../javadoc.css" title="Style">
<link rel='shortcut icon' href='http://gridgain.com/wp-content/uploads/2014/09/favicon.ico'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css'/>
<link type='text/css' rel='stylesheet' href='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shThemeDefault.css'/>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shLegacy.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJava.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushBash.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushXml.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushScala.js'></script>
<script type='text/javascript' src='http://gridgain.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushGroovy.js'></script>

<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="FifoQueueCollisionSpi (Ignite 1.0.0-RC3)";
    }
//-->
</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/FifoQueueCollisionSpi.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>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html" target="_top">Frames</a></li>
<li><a href="FifoQueueCollisionSpi.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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.spi.collision.fifoqueue</div>
<h2 title="Class FifoQueueCollisionSpi" class="title">Class FifoQueueCollisionSpi</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><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">org.apache.ignite.spi.IgniteSpiAdapter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.ignite.spi.collision.fifoqueue.FifoQueueCollisionSpi</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><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/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html" title="annotation in org.apache.ignite.spi">@IgniteSpiMultipleInstancesSupport</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiMultipleInstancesSupport.html#value()">value</a>=true)
public class <span class="strong">FifoQueueCollisionSpi</span>
extends <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a>
implements <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/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></pre>
<div class="block">This class provides implementation for Collision SPI based on FIFO queue. Jobs are ordered
 as they arrived and only <a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getParallelJobsNumber()"><code>getParallelJobsNumber()</code></a> number of jobs is allowed to
 execute in parallel. Other jobs will be buffered in the passive queue.
 <h1 class="header">Configuration</h1>
 <h2 class="header">Mandatory</h2>
 This SPI has no mandatory configuration parameters.
 <h2 class="header">Optional</h2>
 This SPI has following optional configuration parameters:
 <ul>
 <li>
      Number of jobs that can execute in parallel (see <a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#setParallelJobsNumber(int)"><code>setParallelJobsNumber(int)</code></a>).
      This number should usually be set to the number of threads in the execution thread pool.
 </li>
 </ul>
 <h2 class="header">Java Example</h2>
 <code>GridFifoQueueCollisionSpi</code> can be configured as follows:
 <pre name="code" class="java">
 GridFifoQueueCollisionSpi colSpi = new GridFifoQueueCollisionSpi();

 // Execute all jobs sequentially by setting parallel job number to 1.
 colSpi.setParallelJobsNumber(1);

 GridConfiguration cfg = new GridConfiguration();

 // Override default collision SPI.
 cfg.setCollisionSpi(colSpi);

 // Starts grid.
 G.start(cfg);
 </pre>
 <h2 class="header">Spring Example</h2>
 <code>GridFifoQueueCollisionSpi</code> can be configured from Spring XML configuration file:
 <pre name="code" class="xml">
 &lt;bean id="grid.custom.cfg" class="org.apache.ignite.configuration.IgniteConfiguration" singleton="true"&gt;
       ...
       &lt;property name="collisionSpi"&gt;
           &lt;bean class="org.apache.ignite.spi.collision.fifoqueue.GridFifoQueueCollisionSpi"&gt;
               &lt;property name="parallelJobsNumber" value="1"/&gt;
           &lt;/bean&gt;
       &lt;/property&gt;
       ...
 &lt;/bean&gt;
 </pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#DFLT_PARALLEL_JOBS_NUM">DFLT_PARALLEL_JOBS_NUM</a></strong></code>
<div class="block">Default number of parallel jobs allowed (set to number of cores times 2).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#DFLT_WAIT_JOBS_NUM">DFLT_WAIT_JOBS_NUM</a></strong></code>
<div class="block">Default waiting jobs number.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#ignite">ignite</a></code></li>
</ul>
</li>
</ul>
<!-- ======== 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/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#FifoQueueCollisionSpi()">FifoQueueCollisionSpi</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>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getCurrentActiveJobsNumber()">getCurrentActiveJobsNumber</a></strong>()</code>
<div class="block">Gets current number of jobs that are active, i.e.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getCurrentHeldJobsNumber()">getCurrentHeldJobsNumber</a></strong>()</code>
<div class="block">Gets number of currently <code>'held'</code> jobs.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getCurrentRunningJobsNumber()">getCurrentRunningJobsNumber</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getCurrentWaitJobsNumber()">getCurrentWaitJobsNumber</a></strong>()</code>
<div class="block">Gets current number of jobs that wait for the execution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getParallelJobsNumber()">getParallelJobsNumber</a></strong>()</code>
<div class="block">Gets number of jobs that can be executed in parallel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#getWaitingJobsNumber()">getWaitingJobsNumber</a></strong>()</code>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#onCollision(org.apache.ignite.spi.collision.CollisionContext)">onCollision</a></strong>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a>&nbsp;ctx)</code>
<div class="block">This is a callback called when either new grid job arrived or executing job finished its
 execution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#setExternalCollisionListener(org.apache.ignite.spi.collision.CollisionExternalListener)">setExternalCollisionListener</a></strong>(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a>&nbsp;lsnr)</code>
<div class="block">Listener to be set for notification of external collision events (e.g. job stealing).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#setParallelJobsNumber(int)">setParallelJobsNumber</a></strong>(int&nbsp;parallelJobsNum)</code>
<div class="block">Sets number of jobs that can be executed in parallel.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html#setWaitingJobsNumber(int)">setWaitingJobsNumber</a></strong>(int&nbsp;waitJobsNum)</code>
<div class="block">Sets maximum number of jobs that are allowed to wait in waiting queue.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.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/collision/fifoqueue/FifoQueueCollisionSpi.html#spiStop()">spiStop</a></strong>()</code>
<div class="block">This method is called to stop SPI.</div>
</td>
</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/collision/fifoqueue/FifoQueueCollisionSpi.html#toString()">toString</a></strong>()</code></td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiAdapter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html" title="class in org.apache.ignite.spi">IgniteSpiAdapter</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#assertParameter(boolean, java.lang.String)">assertParameter</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#checkConfigurationConsistency0(org.apache.ignite.spi.IgniteSpiContext, org.apache.ignite.cluster.ClusterNode, boolean)">checkConfigurationConsistency0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#configInfo(java.lang.String, java.lang.Object)">configInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#createSpiAttributeName(java.lang.String)">createSpiAttributeName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getConsistentAttributeNames()">getConsistentAttributeNames</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getExceptionRegistry()">getExceptionRegistry</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getNodeAttributes()">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getSpiContext()">getSpiContext</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#getUpTimeFormatted()">getUpTimeFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#injectables()">injectables</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed()">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextDestroyed0()">onContextDestroyed0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#onContextInitialized0(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized0</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#registerMBean(java.lang.String, T, java.lang.Class)">registerMBean</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#setName(java.lang.String)">setName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startInfo()">startInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#startStopwatch()">startStopwatch</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#stopInfo()">stopInfo</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiAdapter.html#unregisterMBean()">unregisterMBean</a></code></li>
</ul>
<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#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, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpi">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#getNodeAttributes()">getNodeAttributes</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextDestroyed()">onContextDestroyed</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#onContextInitialized(org.apache.ignite.spi.IgniteSpiContext)">onContextInitialized</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.ignite.spi.IgniteSpiManagementMBean">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.ignite.spi.<a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html" title="interface in org.apache.ignite.spi">IgniteSpiManagementMBean</a></h3>
<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getIgniteHome()">getIgniteHome</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getLocalNodeId()">getLocalNodeId</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getName()">getName</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestamp()">getStartTimestamp</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getStartTimestampFormatted()">getStartTimestampFormatted</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTime()">getUpTime</a>, <a href="../../../../../../org/apache/ignite/spi/IgniteSpiManagementMBean.html#getUpTimeFormatted()">getUpTimeFormatted</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="DFLT_PARALLEL_JOBS_NUM">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DFLT_PARALLEL_JOBS_NUM</h4>
<pre>public static final&nbsp;int DFLT_PARALLEL_JOBS_NUM</pre>
<div class="block">Default number of parallel jobs allowed (set to number of cores times 2).</div>
</li>
</ul>
<a name="DFLT_WAIT_JOBS_NUM">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DFLT_WAIT_JOBS_NUM</h4>
<pre>public static final&nbsp;int DFLT_WAIT_JOBS_NUM</pre>
<div class="block">Default waiting jobs number. If number of waiting jobs exceeds this number,
 jobs will be rejected. Default value is <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html?is-external=true#MAX_VALUE" title="class or interface in java.lang"><code>Integer.MAX_VALUE</code></a>.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../constant-values.html#org.apache.ignite.spi.collision.fifoqueue.FifoQueueCollisionSpi.DFLT_WAIT_JOBS_NUM">Constant Field Values</a></dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="FifoQueueCollisionSpi()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FifoQueueCollisionSpi</h4>
<pre>public&nbsp;FifoQueueCollisionSpi()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getParallelJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParallelJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getParallelJobsNumber()</pre>
<div class="block">Gets number of jobs that can be executed in parallel.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getParallelJobsNumber()">getParallelJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of jobs that can be executed in parallel.</dd></dl>
</li>
</ul>
<a name="setParallelJobsNumber(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParallelJobsNumber</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setParallelJobsNumber(int&nbsp;parallelJobsNum)</pre>
<div class="block">Sets number of jobs that can be executed in parallel.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#setParallelJobsNumber(int)">setParallelJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parallelJobsNum</code> - Parallel jobs number.</dd></dl>
</li>
</ul>
<a name="getWaitingJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWaitingJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getWaitingJobsNumber()</pre>
<div class="block">Maximum number of jobs that are allowed to wait in waiting queue. If number
 of waiting jobs ever exceeds this number, excessive jobs will be rejected.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getWaitingJobsNumber()">getWaitingJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Maximum allowed number of waiting jobs.</dd></dl>
</li>
</ul>
<a name="setWaitingJobsNumber(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setWaitingJobsNumber</h4>
<pre><a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html" title="annotation in org.apache.ignite.spi">@IgniteSpiConfiguration</a>(<a href="../../../../../../org/apache/ignite/spi/IgniteSpiConfiguration.html#optional()">optional</a>=true)
public&nbsp;void&nbsp;setWaitingJobsNumber(int&nbsp;waitJobsNum)</pre>
<div class="block">Sets maximum number of jobs that are allowed to wait in waiting queue. If number
 of waiting jobs ever exceeds this number, excessive jobs will be rejected.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#setWaitingJobsNumber(int)">setWaitingJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>waitJobsNum</code> - Waiting jobs number.</dd></dl>
</li>
</ul>
<a name="getCurrentWaitJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentWaitJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentWaitJobsNumber()</pre>
<div class="block">Gets current number of jobs that wait for the execution.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getCurrentWaitJobsNumber()">getCurrentWaitJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of jobs that wait for execution.</dd></dl>
</li>
</ul>
<a name="getCurrentActiveJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentActiveJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentActiveJobsNumber()</pre>
<div class="block">Gets current number of jobs that are active, i.e. <code>'running + held'</code> jobs.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getCurrentActiveJobsNumber()">getCurrentActiveJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of active jobs.</dd></dl>
</li>
</ul>
<a name="getCurrentRunningJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentRunningJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentRunningJobsNumber()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getCurrentRunningJobsNumber()">getCurrentRunningJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
</dl>
</li>
</ul>
<a name="getCurrentHeldJobsNumber()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentHeldJobsNumber</h4>
<pre>public&nbsp;int&nbsp;getCurrentHeldJobsNumber()</pre>
<div class="block">Gets number of currently <code>'held'</code> jobs.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html#getCurrentHeldJobsNumber()">getCurrentHeldJobsNumber</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue">FifoQueueCollisionSpiMBean</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Number of currently <code>'held'</code> jobs.</dd></dl>
</li>
</ul>
<a name="spiStart(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStart</h4>
<pre>public&nbsp;void&nbsp;spiStart(<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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStart(java.lang.String)">spiStart</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></dd>
<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="spiStop()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>spiStop</h4>
<pre>public&nbsp;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><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html#spiStop()">spiStop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/IgniteSpi.html" title="interface in org.apache.ignite.spi">IgniteSpi</a></code></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> - Thrown in case of any error during SPI stop.</dd></dl>
</li>
</ul>
<a name="setExternalCollisionListener(org.apache.ignite.spi.collision.CollisionExternalListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExternalCollisionListener</h4>
<pre>public&nbsp;void&nbsp;setExternalCollisionListener(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionExternalListener.html" title="interface in org.apache.ignite.spi.collision">CollisionExternalListener</a>&nbsp;lsnr)</pre>
<div class="block">Listener to be set for notification of external collision events (e.g. job stealing).
 Once grid receives such notification, it will immediately invoke collision SPI.
 <p>
 Ignite uses this listener to enable job stealing from overloaded to underloaded nodes.
 However, you can also utilize it, for instance, to provide time based collision
 resolution. To achieve this, you most likely would mark some job by setting a certain
 attribute in job context (see <a href="../../../../../../org/apache/ignite/compute/ComputeJobContext.html" title="interface in org.apache.ignite.compute"><code>ComputeJobContext</code></a>) for a job that requires
 time-based scheduling and set some timer in your SPI implementation that would wake up
 after a certain period of time. Once this period is reached, you would notify this
 listener that a collision resolution should take place. Then inside of your collision
 resolution logic, you would find the marked waiting job and activate it.
 <p>
 Note that most collision SPI's might not have external collisions. In that case,
 they should simply ignore this method and do nothing when listener is set.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#setExternalCollisionListener(org.apache.ignite.spi.collision.CollisionExternalListener)">setExternalCollisionListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>lsnr</code> - Listener for external collision events.</dd></dl>
</li>
</ul>
<a name="onCollision(org.apache.ignite.spi.collision.CollisionContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCollision</h4>
<pre>public&nbsp;void&nbsp;onCollision(<a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision">CollisionContext</a>&nbsp;ctx)</pre>
<div class="block">This is a callback called when either new grid job arrived or executing job finished its
 execution. When new job arrives it is added to the end of the wait list and this
 method is called. When job finished its execution, it is removed from the active list and
 this method is called (i.e., when grid job is finished it will not appear in any list
 in collision resolution).
 <p>
 Implementation of this method should act on all lists, each of which contains collision
 job contexts that define a set of operations available during collision resolution. Refer
 to <a href="../../../../../../org/apache/ignite/spi/collision/CollisionContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionContext</code></a> and <a href="../../../../../../org/apache/ignite/spi/collision/CollisionJobContext.html" title="interface in org.apache.ignite.spi.collision"><code>CollisionJobContext</code></a> documentation for
 more information.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html#onCollision(org.apache.ignite.spi.collision.CollisionContext)">onCollision</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/ignite/spi/collision/CollisionSpi.html" title="interface in org.apache.ignite.spi.collision">CollisionSpi</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>ctx</code> - Collision context which contains all collision lists.</dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</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;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></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/FifoQueueCollisionSpi.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>Apache Ignite - In-Memory Data Fabric</em></div>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev Class</li>
<li><a href="../../../../../../org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpiMBean.html" title="interface in org.apache.ignite.spi.collision.fifoqueue"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/spi/collision/fifoqueue/FifoQueueCollisionSpi.html" target="_top">Frames</a></li>
<li><a href="FifoQueueCollisionSpi.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><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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://incubator.apache.org/projects/ignite.html"><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>Apache Ignite Fabric</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             ver. <strong>1.0.0-RC3</strong>                                                         </td>                                                     </tr>                                                     <tr style="padding: 0; margin: 0">                                                         <td>                                                             <b>Release Date</b>                                                         </td>                                                         <td>:&nbsp;&nbsp;                                                             March 24 2015                                                         </td>                                                     </tr>                                                 </tbody>                                             </table>                                         </td>                                     </tr>                                     </table></small></p>
<!--FOOTER--><script type='text/javascript'>SyntaxHighlighter.all();dp.SyntaxHighlighter.HighlightAll('code');</script>
</body>

</html>
