blob: 85e279b9933219aabcfa795267e6b3dc8a885113 [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>iceberg-cpp: iceberg::Executor Class Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</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 id="projectrow">
<td id="projectalign">
<div id="projectname">iceberg-cpp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceiceberg.html">iceberg</a></li><li class="navelem"><a class="el" href="classiceberg_1_1Executor.html">Executor</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classiceberg_1_1Executor-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">iceberg::Executor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div></div>
</div><!--header-->
<div class="contents">
<p>Schedules iceberg-cpp internal planning tasks.
<a href="classiceberg_1_1Executor.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="executor_8h_source.html">executor.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2a0779bcdb4943cda5cbdf20a9c5117f" id="r_a2a0779bcdb4943cda5cbdf20a9c5117f"><td class="memItemLeft" align="right" valign="top"><a id="a2a0779bcdb4943cda5cbdf20a9c5117f" name="a2a0779bcdb4943cda5cbdf20a9c5117f"></a>
virtual Status&#160;</td><td class="memItemRight" valign="bottom"><b>Submit</b> (<a class="el" href="classiceberg_1_1FnOnce.html">ExecutorTask</a> task)=0</td></tr>
<tr class="memdesc:a2a0779bcdb4943cda5cbdf20a9c5117f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Schedule a task for execution. <br /></td></tr>
<tr class="separator:a2a0779bcdb4943cda5cbdf20a9c5117f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Schedules iceberg-cpp internal planning tasks. </p>
<p>Public APIs that accept an executor remain synchronous: the calling thread may block while waiting for submitted tasks to finish. Callers must ensure the executor can continue making progress while the caller is blocked. Calling those APIs from one of the same bounded executor's worker threads can deadlock unless the executor supports nested blocking work.</p>
<p>When an executor is configured, planning callbacks may be called concurrently. Any shared mutable state captured by those callbacks must be synchronized by the caller. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>iceberg/util/<a class="el" href="executor_8h_source.html">executor.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>