blob: 55053664b078d5e87dbb5cd962071beb2351bafa [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.2.0/dotnetdoc/namespace_apache_1_1_ignite_1_1_core_1_1_compute.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>Apache Ignite.NET: Package Apache.Ignite.Core.Compute</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<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>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Apache Ignite.NET
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('namespace_apache_1_1_ignite_1_1_core_1_1_compute.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">Package Apache.Ignite.Core.Compute</div> </div>
</div><!--header-->
<div class="contents">
<p>Compute Grid functionality.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_execution_rejected_exception.html">ComputeExecutionRejectedException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates a situation when execution service provided by the user in configuration rejects execution. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_execution_rejected_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_job_adapter.html">ComputeJobAdapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience adapter for <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job.html">IComputeJob&lt;T&gt;</a> implementations. It provides the following functionality: <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_job_adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_job_failover_exception.html">ComputeJobFailoverException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This runtime exception can be thrown from <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job.html#abca416d1dc9f6f681806422de5a97b01" title="Executes this job. ">IComputeJob&lt;T&gt;.Execute()</a> method to force job failover to another node within task topology. IComputeFunc&lt;T,R&gt; or IComputeFunc&lt;T&gt; passed into any of the <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html" title="Defines Ignite functionality for executing tasks and closures over nodes in the IClusterGroup. Instance of ICompute is obtained from grid projection using IClusterGroup.GetCompute method. ">ICompute</a> methods can also throw this exception to force failover. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_job_failover_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_adapter.html">ComputeTaskAdapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience adapter for <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_task.html">IComputeTask&lt;TArg,TJobRes,TTaskRes&gt;</a> interface <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_cancelled_exception.html">ComputeTaskCancelledException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This exception indicates that Ignite task was cancelled. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_cancelled_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_no_result_cache_attribute.html">ComputeTaskNoResultCacheAttribute</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This attribute disables caching of task results when attached to IComputeTask&lt;A,T,R&gt; instance. Use it when number of jobs within task grows too big, or jobs themselves are too large to keep in memory throughout task execution. By default all results are cached and passed into IComputeTask&lt;TA,T,TR&gt;.OnResult and IComputeTask&lt;A,T,R&gt;.Reduce methods. When this attribute is attached to a task class, then this list of job results will always be empty. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_no_result_cache_attribute.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_split_adapter.html">ComputeTaskSplitAdapter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class defines simplified adapter for IComputeTask&lt;A,T,R&gt;. This adapter can be used when jobs can be randomly assigned to available Ignite nodes. This adapter is sufficient in most homogeneous environments where all nodes are equally suitable for executing grid job, see <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_split_adapter.html#a0a26d0041f8797e36419417affcbb47c" title="This is a simplified version of IComputeTask<A,T,R>.Map method. This method basically takes given arg...">Split</a> method for more details. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_split_adapter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_timeout_exception.html">ComputeTaskTimeoutException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates that task execution timed out. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_timeout_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_user_undeclared_exception.html">ComputeUserUndeclaredException</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This exception is thrown when user's code throws undeclared runtime exception. By user core it is assumed the code in Ignite task, Ignite job or SPI. In most cases it should be an indication of unrecoverable error condition such as assertion, out of memory error, etc. <a href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_user_undeclared_exception.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html">ICompute</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines Ignite functionality for executing tasks and closures over nodes in the IClusterGroup. Instance of <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html" title="Defines Ignite functionality for executing tasks and closures over nodes in the IClusterGroup. Instance of ICompute is obtained from grid projection using IClusterGroup.GetCompute method. ">ICompute</a> is obtained from grid projection using <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cluster_1_1_i_cluster_group.html#a7d43b7243f8c921e626d629d9eb369a8" title="Gets compute functionality over this grid projection. All operations on the returned ICompute instanc...">IClusterGroup.GetCompute</a> method. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_action.html">IComputeAction</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines a void function having no arguments. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_action.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_func.html">IComputeFunc</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines function having a single argument. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_func.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job.html">IComputeJob</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines executable unit for IComputeTask&lt;A,T,R&gt;. Ignite task gets split into jobs when IComputeTask&lt;A,T,R&gt;.Map(IList&lt;IClusterNode&gt;, A) method is called. This method returns all jobs for the task mapped to their corresponding Ignite nodes for execution. Grid will then serialize this jobs and send them to requested nodes for execution. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job_result.html">IComputeJobResult</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Job execution result which gets passed to IComputeTask&lt;TA,T,TR&gt;.OnResult method. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_job_result.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_reducer.html">IComputeReducer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute reducer which is capable of result collecting and reducing. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_reducer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">interface &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_task.html">IComputeTask</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ignite task interface defines a task that can be executed on the grid. Ignite task is responsible for splitting business logic into multiple Ignite jobs, receiving results from individual Ignite jobs executing on remote nodes, and reducing (aggregating) received jobs' results into final Ignite task result. <a href="interface_apache_1_1_ignite_1_1_core_1_1_compute_1_1_i_compute_task.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a630d59e56d9558cb537c357c2b2f3fdc"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdc">ComputeJobResultPolicy</a> { <a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdca0f68101772bd5397ef8eb1b632798652">ComputeJobResultPolicy.Wait</a> = 0,
<a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdcaec4875f03ff0bb0b26cf76ac7f41e3c8">ComputeJobResultPolicy.Reduce</a> = 1,
<a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdca7388404ef116c3ff812bfd290b094d9e">ComputeJobResultPolicy.Failover</a> = 2
}</td></tr>
<tr class="memdesc:a630d59e56d9558cb537c357c2b2f3fdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This enumeration provides different types of actions following the last received job result. See IComputeTask&lt;TA,T,TR&gt;.OnResult for more details. <a href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdc">More...</a><br /></td></tr>
<tr class="separator:a630d59e56d9558cb537c357c2b2f3fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"></div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a630d59e56d9558cb537c357c2b2f3fdc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html#a630d59e56d9558cb537c357c2b2f3fdc">Apache.Ignite.Core.Compute.ComputeJobResultPolicy</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a630d59e56d9558cb537c357c2b2f3fdca0f68101772bd5397ef8eb1b632798652"></a>Wait&#160;</td><td class="fielddoc">
<p>Wait for results if any are still expected. If all results have been received - it will start reducing results. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a630d59e56d9558cb537c357c2b2f3fdcaec4875f03ff0bb0b26cf76ac7f41e3c8"></a>Reduce&#160;</td><td class="fielddoc">
<p>Ignore all not yet received results and start reducing results. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a630d59e56d9558cb537c357c2b2f3fdca7388404ef116c3ff812bfd290b094d9e"></a>Failover&#160;</td><td class="fielddoc">
<p>Fail-over job to execute on another node. </p>
</td></tr>
</table>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespace_apache.html">Apache</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite.html">Ignite</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core.html">Core</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_compute.html">Compute</a></li>
<li class="footer">Generated on Fri Sep 15 2017 11:37:29 for Apache Ignite.NET by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
</ul>
</div>
</body>
</html>