FairMQ/v1.4.14/classfair_1_1mq_1_1sdk_1_1BasicTopology.html
2020-04-28 15:12:15 +02:00

1573 lines
92 KiB
HTML

<!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>
<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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FairMQ: fair::mq::sdk::BasicTopology&lt; Executor, Allocator &gt; Class Template 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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FairMQ
&#160;<span id="projectnumber">1.4.14</span>
</div>
<div id="projectbrief">C++ Message Queuing Library and Framework</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacefair.html">fair</a></li><li class="navelem"><b>mq</b></li><li class="navelem"><b>sdk</b></li><li class="navelem"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classfair_1_1mq_1_1sdk_1_1BasicTopology-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">fair::mq::sdk::BasicTopology&lt; Executor, Allocator &gt; Class Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Represents a FairMQ topology.
<a href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="Topology_8h_source.html">fairmq/sdk/Topology.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for fair::mq::sdk::BasicTopology&lt; Executor, Allocator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classfair_1_1mq_1_1sdk_1_1BasicTopology__inherit__graph.png" border="0" usemap="#fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_inherit__map" id="fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_inherit__map">
<area shape="rect" id="node2" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html" title="Base for creating Asio&#45;enabled I/O objects. " alt="" coords="21,5,179,47"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for fair::mq::sdk::BasicTopology&lt; Executor, Allocator &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classfair_1_1mq_1_1sdk_1_1BasicTopology__coll__graph.png" border="0" usemap="#fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_coll__map" alt="Collaboration graph"/></div>
<map name="fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_coll__map" id="fair_1_1mq_1_1sdk_1_1BasicTopology_3_01Executor_00_01Allocator_01_4_coll__map">
<area shape="rect" id="node2" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html" title="Base for creating Asio&#45;enabled I/O objects. " alt="" coords="21,5,179,47"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aa474c0f88c6ed0846161644be1241892"><td class="memItemLeft" align="right" valign="top"><a id="aa474c0f88c6ed0846161644be1241892"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>Duration</b> = std::chrono::milliseconds</td></tr>
<tr class="separator:aa474c0f88c6ed0846161644be1241892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07e94afefb001cd69a4d176fae85e57a"><td class="memItemLeft" align="right" valign="top"><a id="a07e94afefb001cd69a4d176fae85e57a"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>ChangeStateCompletionSignature</b> = void(std::error_code, TopologyState)</td></tr>
<tr class="separator:a07e94afefb001cd69a4d176fae85e57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf9714420cdc2b195f39c7028b252ad7"><td class="memItemLeft" align="right" valign="top"><a id="adf9714420cdc2b195f39c7028b252ad7"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>WaitForStateCompletionSignature</b> = void(std::error_code)</td></tr>
<tr class="separator:adf9714420cdc2b195f39c7028b252ad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51faface8f3dd7ef003af9fcbdadc11e"><td class="memItemLeft" align="right" valign="top"><a id="a51faface8f3dd7ef003af9fcbdadc11e"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>GetPropertiesCompletionSignature</b> = void(std::error_code, <a class="el" href="structfair_1_1mq_1_1sdk_1_1GetPropertiesResult.html">GetPropertiesResult</a>)</td></tr>
<tr class="separator:a51faface8f3dd7ef003af9fcbdadc11e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab854fa926a011f366e1b26c84c27d6e4"><td class="memItemLeft" align="right" valign="top"><a id="ab854fa926a011f366e1b26c84c27d6e4"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>SetPropertiesCompletionSignature</b> = void(std::error_code, FailedDevices)</td></tr>
<tr class="separator:ab854fa926a011f366e1b26c84c27d6e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">fair::mq::sdk::AsioBase&lt; Executor, Allocator &gt;</a></td></tr>
<tr class="memitem:aea0e9ea2a6883595ee4a9170e7eb54a1 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="aea0e9ea2a6883595ee4a9170e7eb54a1"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#aea0e9ea2a6883595ee4a9170e7eb54a1">ExecutorType</a> = Executor</td></tr>
<tr class="memdesc:aea0e9ea2a6883595ee4a9170e7eb54a1 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Member type of associated I/O executor. <br /></td></tr>
<tr class="separator:aea0e9ea2a6883595ee4a9170e7eb54a1 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae82b8f9a1053d039542074a6538f51a9 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="ae82b8f9a1053d039542074a6538f51a9"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#ae82b8f9a1053d039542074a6538f51a9">AllocatorType</a> = Allocator</td></tr>
<tr class="memdesc:ae82b8f9a1053d039542074a6538f51a9 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Member type of associated default allocator. <br /></td></tr>
<tr class="separator:ae82b8f9a1053d039542074a6538f51a9 inherit pub_types_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1e6efa6c7cb826022280e0ba5c2bd9d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a1e6efa6c7cb826022280e0ba5c2bd9d9">BasicTopology</a> (<a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html">DDSTopology</a> topo, <a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html">DDSSession</a> session)</td></tr>
<tr class="memdesc:a1e6efa6c7cb826022280e0ba5c2bd9d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">(Re)Construct a FairMQ topology from an existing DDS topology <a href="#a1e6efa6c7cb826022280e0ba5c2bd9d9">More...</a><br /></td></tr>
<tr class="separator:a1e6efa6c7cb826022280e0ba5c2bd9d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50e4f6e8631802ff17ca37e1623c4261"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a50e4f6e8631802ff17ca37e1623c4261">BasicTopology</a> (const Executor &amp;ex, <a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html">DDSTopology</a> topo, <a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html">DDSSession</a> session, Allocator alloc=DefaultAllocator())</td></tr>
<tr class="memdesc:a50e4f6e8631802ff17ca37e1623c4261"><td class="mdescLeft">&#160;</td><td class="mdescRight">(Re)Construct a FairMQ topology from an existing DDS topology <a href="#a50e4f6e8631802ff17ca37e1623c4261">More...</a><br /></td></tr>
<tr class="separator:a50e4f6e8631802ff17ca37e1623c4261"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46d10b8c9a22d06770312a2d71086a4"><td class="memItemLeft" align="right" valign="top"><a id="ac46d10b8c9a22d06770312a2d71086a4"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#ac46d10b8c9a22d06770312a2d71086a4">BasicTopology</a> (const <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;)=delete</td></tr>
<tr class="memdesc:ac46d10b8c9a22d06770312a2d71086a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">not copyable <br /></td></tr>
<tr class="separator:ac46d10b8c9a22d06770312a2d71086a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8be7fc98a71ac315f0653efbc68aaca"><td class="memItemLeft" align="right" valign="top"><a id="aa8be7fc98a71ac315f0653efbc68aaca"></a>
<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;)=delete</td></tr>
<tr class="separator:aa8be7fc98a71ac315f0653efbc68aaca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8067ea607af8fc6f9395d2b357196b2"><td class="memItemLeft" align="right" valign="top"><a id="aa8067ea607af8fc6f9395d2b357196b2"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aa8067ea607af8fc6f9395d2b357196b2">BasicTopology</a> (<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;&amp;)=default</td></tr>
<tr class="memdesc:aa8067ea607af8fc6f9395d2b357196b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">movable <br /></td></tr>
<tr class="separator:aa8067ea607af8fc6f9395d2b357196b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d99f329abcafbd8affea8a54a09648b"><td class="memItemLeft" align="right" valign="top"><a id="a2d99f329abcafbd8affea8a54a09648b"></a>
<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a2d99f329abcafbd8affea8a54a09648b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72e200bd17450d2716167b4100a163eb"><td class="memItemLeft" align="right" valign="top"><a id="a72e200bd17450d2716167b4100a163eb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SubscribeToStateChanges</b> ()</td></tr>
<tr class="separator:a72e200bd17450d2716167b4100a163eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae85c5e4c9229d7c5e13570c443cf984c"><td class="memItemLeft" align="right" valign="top"><a id="ae85c5e4c9229d7c5e13570c443cf984c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SendSubscriptionHeartbeats</b> (const std::error_code &amp;ec)</td></tr>
<tr class="separator:ae85c5e4c9229d7c5e13570c443cf984c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6831620234293a9559365358860c6834"><td class="memItemLeft" align="right" valign="top"><a id="a6831620234293a9559365358860c6834"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>UnsubscribeFromStateChanges</b> ()</td></tr>
<tr class="separator:a6831620234293a9559365358860c6834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b97678655c374ada967ea70a88383b5"><td class="memItemLeft" align="right" valign="top"><a id="a4b97678655c374ada967ea70a88383b5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SubscribeToCommands</b> ()</td></tr>
<tr class="separator:a4b97678655c374ada967ea70a88383b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2acab78e65f0236448cf0e191ab94bfe"><td class="memItemLeft" align="right" valign="top"><a id="a2acab78e65f0236448cf0e191ab94bfe"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1StateChangeSubscription.html">cmd::StateChangeSubscription</a> const &amp;cmd) -&gt; void</td></tr>
<tr class="separator:a2acab78e65f0236448cf0e191ab94bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a290fa4e56a1e7cf92d2d123860058a16"><td class="memItemLeft" align="right" valign="top"><a id="a290fa4e56a1e7cf92d2d123860058a16"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1StateChangeUnsubscription.html">cmd::StateChangeUnsubscription</a> const &amp;cmd) -&gt; void</td></tr>
<tr class="separator:a290fa4e56a1e7cf92d2d123860058a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac690a58b095f5ee2efbb75058c4f9f28"><td class="memItemLeft" align="right" valign="top"><a id="ac690a58b095f5ee2efbb75058c4f9f28"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1StateChange.html">cmd::StateChange</a> const &amp;cmd, DDSChannel::Id const &amp;senderId) -&gt; void</td></tr>
<tr class="separator:ac690a58b095f5ee2efbb75058c4f9f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee014a6f921ee67f093dcae965d5317"><td class="memItemLeft" align="right" valign="top"><a id="a5ee014a6f921ee67f093dcae965d5317"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1TransitionStatus.html">cmd::TransitionStatus</a> const &amp;cmd) -&gt; void</td></tr>
<tr class="separator:a5ee014a6f921ee67f093dcae965d5317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae11f478faa3fe280e74a1a4b8824e08"><td class="memItemLeft" align="right" valign="top"><a id="aae11f478faa3fe280e74a1a4b8824e08"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1Properties.html">cmd::Properties</a> const &amp;cmd) -&gt; void</td></tr>
<tr class="separator:aae11f478faa3fe280e74a1a4b8824e08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3b48a6db5ffcb3f72118fb22f5b39dc"><td class="memItemLeft" align="right" valign="top"><a id="ac3b48a6db5ffcb3f72118fb22f5b39dc"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>HandleCmd</b> (<a class="el" href="structfair_1_1mq_1_1sdk_1_1cmd_1_1PropertiesSet.html">cmd::PropertiesSet</a> const &amp;cmd) -&gt; void</td></tr>
<tr class="separator:ac3b48a6db5ffcb3f72118fb22f5b39dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a138b4e48a0c000fe78932189f679ce27"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a138b4e48a0c000fe78932189f679ce27"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a138b4e48a0c000fe78932189f679ce27">AsyncChangeState</a> (const TopologyTransition transition, const std::string &amp;path, Duration timeout, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a138b4e48a0c000fe78932189f679ce27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate state transition on all FairMQ devices in this topology. <a href="#a138b4e48a0c000fe78932189f679ce27">More...</a><br /></td></tr>
<tr class="separator:a138b4e48a0c000fe78932189f679ce27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5b4640b00e06124a0e8098b05be47b9"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:aa5b4640b00e06124a0e8098b05be47b9"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aa5b4640b00e06124a0e8098b05be47b9">AsyncChangeState</a> (const TopologyTransition transition, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:aa5b4640b00e06124a0e8098b05be47b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate state transition on all FairMQ devices in this topology. <a href="#aa5b4640b00e06124a0e8098b05be47b9">More...</a><br /></td></tr>
<tr class="separator:aa5b4640b00e06124a0e8098b05be47b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a729cd0dcf3b74fc23b5a92a3ab7fecdf"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a729cd0dcf3b74fc23b5a92a3ab7fecdf"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a729cd0dcf3b74fc23b5a92a3ab7fecdf">AsyncChangeState</a> (const TopologyTransition transition, Duration timeout, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a729cd0dcf3b74fc23b5a92a3ab7fecdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate state transition on all FairMQ devices in this topology with a timeout. <a href="#a729cd0dcf3b74fc23b5a92a3ab7fecdf">More...</a><br /></td></tr>
<tr class="separator:a729cd0dcf3b74fc23b5a92a3ab7fecdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec28b345f009b9e4323fa99bfabf68d4"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:aec28b345f009b9e4323fa99bfabf68d4"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aec28b345f009b9e4323fa99bfabf68d4">AsyncChangeState</a> (const TopologyTransition transition, const std::string &amp;path, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:aec28b345f009b9e4323fa99bfabf68d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate state transition on all FairMQ devices in this topology with a timeout. <a href="#aec28b345f009b9e4323fa99bfabf68d4">More...</a><br /></td></tr>
<tr class="separator:aec28b345f009b9e4323fa99bfabf68d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa97ffce815eb1b2af591f8e31263099e"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aa97ffce815eb1b2af591f8e31263099e">ChangeState</a> (const TopologyTransition transition, const std::string &amp;path=&quot;&quot;, Duration timeout=Duration(0)) -&gt; std::pair&lt; std::error_code, TopologyState &gt;</td></tr>
<tr class="memdesc:aa97ffce815eb1b2af591f8e31263099e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform state transition on FairMQ devices in this topology for a specified topology path. <a href="#aa97ffce815eb1b2af591f8e31263099e">More...</a><br /></td></tr>
<tr class="separator:aa97ffce815eb1b2af591f8e31263099e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f00e79151817b32420d60ea926a8ba"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a81f00e79151817b32420d60ea926a8ba">ChangeState</a> (const TopologyTransition transition, Duration timeout) -&gt; std::pair&lt; std::error_code, TopologyState &gt;</td></tr>
<tr class="memdesc:a81f00e79151817b32420d60ea926a8ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform state transition on all FairMQ devices in this topology with a timeout. <a href="#a81f00e79151817b32420d60ea926a8ba">More...</a><br /></td></tr>
<tr class="separator:a81f00e79151817b32420d60ea926a8ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247c01cea078f6f53e3b2f185583930c"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a247c01cea078f6f53e3b2f185583930c">GetCurrentState</a> () const -&gt; TopologyState</td></tr>
<tr class="memdesc:a247c01cea078f6f53e3b2f185583930c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current state of the topology. <a href="#a247c01cea078f6f53e3b2f185583930c">More...</a><br /></td></tr>
<tr class="separator:a247c01cea078f6f53e3b2f185583930c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f133fbc167e20d0aeb69e42d6b39cb3"><td class="memItemLeft" align="right" valign="top"><a id="a2f133fbc167e20d0aeb69e42d6b39cb3"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>AggregateState</b> () const -&gt; DeviceState</td></tr>
<tr class="separator:a2f133fbc167e20d0aeb69e42d6b39cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fdbd379e01a9d1764d567c455001cec"><td class="memItemLeft" align="right" valign="top"><a id="a8fdbd379e01a9d1764d567c455001cec"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>StateEqualsTo</b> (DeviceState state) const -&gt; bool</td></tr>
<tr class="separator:a8fdbd379e01a9d1764d567c455001cec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a834ce9bc3d4a79e3f369299af973391a"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a834ce9bc3d4a79e3f369299af973391a"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a834ce9bc3d4a79e3f369299af973391a">AsyncWaitForState</a> (const DeviceState targetLastState, const DeviceState targetCurrentState, const std::string &amp;path, Duration timeout, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a834ce9bc3d4a79e3f369299af973391a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate waiting for selected FairMQ devices to reach given last &amp; current state in this topology. <a href="#a834ce9bc3d4a79e3f369299af973391a">More...</a><br /></td></tr>
<tr class="separator:a834ce9bc3d4a79e3f369299af973391a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaddb0296f1d9f282cd31b9d339c43eb9"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:aaddb0296f1d9f282cd31b9d339c43eb9"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aaddb0296f1d9f282cd31b9d339c43eb9">AsyncWaitForState</a> (const DeviceState targetLastState, const DeviceState targetCurrentState, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:aaddb0296f1d9f282cd31b9d339c43eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate waiting for selected FairMQ devices to reach given last &amp; current state in this topology. <a href="#aaddb0296f1d9f282cd31b9d339c43eb9">More...</a><br /></td></tr>
<tr class="separator:aaddb0296f1d9f282cd31b9d339c43eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58224c9577ad69b738a9af5c20716a9e"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a58224c9577ad69b738a9af5c20716a9e"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a58224c9577ad69b738a9af5c20716a9e">AsyncWaitForState</a> (const DeviceState targetCurrentState, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a58224c9577ad69b738a9af5c20716a9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate waiting for selected FairMQ devices to reach given current state in this topology. <a href="#a58224c9577ad69b738a9af5c20716a9e">More...</a><br /></td></tr>
<tr class="separator:a58224c9577ad69b738a9af5c20716a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d36f2154b3a3b83aede836948ef47a1"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a7d36f2154b3a3b83aede836948ef47a1">WaitForState</a> (const DeviceState targetLastState, const DeviceState targetCurrentState, const std::string &amp;path=&quot;&quot;, Duration timeout=Duration(0)) -&gt; std::error_code</td></tr>
<tr class="memdesc:a7d36f2154b3a3b83aede836948ef47a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for selected FairMQ devices to reach given last &amp; current state in this topology. <a href="#a7d36f2154b3a3b83aede836948ef47a1">More...</a><br /></td></tr>
<tr class="separator:a7d36f2154b3a3b83aede836948ef47a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc74bf39cb2b913d9f55ea6c7d1d264"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#aedc74bf39cb2b913d9f55ea6c7d1d264">WaitForState</a> (const DeviceState targetCurrentState, const std::string &amp;path=&quot;&quot;, Duration timeout=Duration(0)) -&gt; std::error_code</td></tr>
<tr class="memdesc:aedc74bf39cb2b913d9f55ea6c7d1d264"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait for selected FairMQ devices to reach given current state in this topology. <a href="#aedc74bf39cb2b913d9f55ea6c7d1d264">More...</a><br /></td></tr>
<tr class="separator:aedc74bf39cb2b913d9f55ea6c7d1d264"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d74222cda9c4823c4574f2c0c3d47e"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a48d74222cda9c4823c4574f2c0c3d47e"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a48d74222cda9c4823c4574f2c0c3d47e">AsyncGetProperties</a> (DevicePropertyQuery const &amp;query, const std::string &amp;path, Duration timeout, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a48d74222cda9c4823c4574f2c0c3d47e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate property query on selected FairMQ devices in this topology. <a href="#a48d74222cda9c4823c4574f2c0c3d47e">More...</a><br /></td></tr>
<tr class="separator:a48d74222cda9c4823c4574f2c0c3d47e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab68803df2810c82f36662209026a0d90"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:ab68803df2810c82f36662209026a0d90"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#ab68803df2810c82f36662209026a0d90">AsyncGetProperties</a> (DevicePropertyQuery const &amp;query, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:ab68803df2810c82f36662209026a0d90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate property query on selected FairMQ devices in this topology. <a href="#ab68803df2810c82f36662209026a0d90">More...</a><br /></td></tr>
<tr class="separator:ab68803df2810c82f36662209026a0d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184b8bc417c76d908edf433c4be5499a"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a184b8bc417c76d908edf433c4be5499a">GetProperties</a> (DevicePropertyQuery const &amp;query, const std::string &amp;path=&quot;&quot;, Duration timeout=Duration(0)) -&gt; std::pair&lt; std::error_code, <a class="el" href="structfair_1_1mq_1_1sdk_1_1GetPropertiesResult.html">GetPropertiesResult</a> &gt;</td></tr>
<tr class="memdesc:a184b8bc417c76d908edf433c4be5499a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query properties on selected FairMQ devices in this topology. <a href="#a184b8bc417c76d908edf433c4be5499a">More...</a><br /></td></tr>
<tr class="separator:a184b8bc417c76d908edf433c4be5499a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a625808ae1486e47bbaae3879521462a1"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a625808ae1486e47bbaae3879521462a1"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a625808ae1486e47bbaae3879521462a1">AsyncSetProperties</a> (const DeviceProperties &amp;props, const std::string &amp;path, Duration timeout, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a625808ae1486e47bbaae3879521462a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate property update on selected FairMQ devices in this topology. <a href="#a625808ae1486e47bbaae3879521462a1">More...</a><br /></td></tr>
<tr class="separator:a625808ae1486e47bbaae3879521462a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c2824288e7238dd3394ee56c6c29b1"><td class="memTemplParams" colspan="2">template&lt;typename CompletionToken &gt; </td></tr>
<tr class="memitem:a55c2824288e7238dd3394ee56c6c29b1"><td class="memTemplItemLeft" align="right" valign="top">auto&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a55c2824288e7238dd3394ee56c6c29b1">AsyncSetProperties</a> (DeviceProperties const &amp;props, CompletionToken &amp;&amp;token)</td></tr>
<tr class="memdesc:a55c2824288e7238dd3394ee56c6c29b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate property update on selected FairMQ devices in this topology. <a href="#a55c2824288e7238dd3394ee56c6c29b1">More...</a><br /></td></tr>
<tr class="separator:a55c2824288e7238dd3394ee56c6c29b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a869d5f7d468c63864415bbb54600aaf0"><td class="memItemLeft" align="right" valign="top">auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html#a869d5f7d468c63864415bbb54600aaf0">SetProperties</a> (DeviceProperties const &amp;properties, const std::string &amp;path=&quot;&quot;, Duration timeout=Duration(0)) -&gt; std::pair&lt; std::error_code, FailedDevices &gt;</td></tr>
<tr class="memdesc:a869d5f7d468c63864415bbb54600aaf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set properties on selected FairMQ devices in this topology. <a href="#a869d5f7d468c63864415bbb54600aaf0">More...</a><br /></td></tr>
<tr class="separator:a869d5f7d468c63864415bbb54600aaf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac18f1ba4c49a501831801303e3005eba"><td class="memItemLeft" align="right" valign="top"><a id="ac18f1ba4c49a501831801303e3005eba"></a>
Duration&#160;</td><td class="memItemRight" valign="bottom"><b>GetHeartbeatInterval</b> () const</td></tr>
<tr class="separator:ac18f1ba4c49a501831801303e3005eba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0169c7b44df6eb505348f1ac4ed16863"><td class="memItemLeft" align="right" valign="top"><a id="a0169c7b44df6eb505348f1ac4ed16863"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>SetHeartbeatInterval</b> (Duration duration)</td></tr>
<tr class="separator:a0169c7b44df6eb505348f1ac4ed16863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">fair::mq::sdk::AsioBase&lt; Executor, Allocator &gt;</a></td></tr>
<tr class="memitem:aa4a40d98197b0ca731b855f811761741 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="aa4a40d98197b0ca731b855f811761741"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#aa4a40d98197b0ca731b855f811761741">GetExecutor</a> () const noexcept -&gt; <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#aea0e9ea2a6883595ee4a9170e7eb54a1">ExecutorType</a></td></tr>
<tr class="memdesc:aa4a40d98197b0ca731b855f811761741 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get associated I/O executor. <br /></td></tr>
<tr class="separator:aa4a40d98197b0ca731b855f811761741 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10c8108cd520e7a1ec2bced4b80df69d inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a10c8108cd520e7a1ec2bced4b80df69d"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#a10c8108cd520e7a1ec2bced4b80df69d">GetAllocator</a> () const noexcept -&gt; <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#ae82b8f9a1053d039542074a6538f51a9">AllocatorType</a></td></tr>
<tr class="memdesc:a10c8108cd520e7a1ec2bced4b80df69d inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get associated default allocator. <br /></td></tr>
<tr class="separator:a10c8108cd520e7a1ec2bced4b80df69d inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4321936e4a92d3e977dff807f0cb3d3f inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a4321936e4a92d3e977dff807f0cb3d3f"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#a4321936e4a92d3e977dff807f0cb3d3f">AsioBase</a> ()=delete</td></tr>
<tr class="memdesc:a4321936e4a92d3e977dff807f0cb3d3f inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">NO default ctor. <br /></td></tr>
<tr class="separator:a4321936e4a92d3e977dff807f0cb3d3f inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2711eada1efbf39cba390bdd39427e91 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a2711eada1efbf39cba390bdd39427e91"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#a2711eada1efbf39cba390bdd39427e91">AsioBase</a> (Executor ex, Allocator alloc)</td></tr>
<tr class="memdesc:a2711eada1efbf39cba390bdd39427e91 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct with associated I/O executor. <br /></td></tr>
<tr class="separator:a2711eada1efbf39cba390bdd39427e91 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a271de7ef84469fd2650cec9dc5098d75 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a271de7ef84469fd2650cec9dc5098d75"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#a271de7ef84469fd2650cec9dc5098d75">AsioBase</a> (const <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;)=delete</td></tr>
<tr class="memdesc:a271de7ef84469fd2650cec9dc5098d75 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">NOT copyable. <br /></td></tr>
<tr class="separator:a271de7ef84469fd2650cec9dc5098d75 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82ab8e2cc8133a7456fb8263044e671e inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a82ab8e2cc8133a7456fb8263044e671e"></a>
<a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;)=delete</td></tr>
<tr class="separator:a82ab8e2cc8133a7456fb8263044e671e inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21170be420f2b42843736e497f10a692 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a21170be420f2b42843736e497f10a692"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html#a21170be420f2b42843736e497f10a692">AsioBase</a> (<a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="memdesc:a21170be420f2b42843736e497f10a692 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">movable <br /></td></tr>
<tr class="separator:a21170be420f2b42843736e497f10a692 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368a535d60c3c11e06ac4e37d6afd1d3 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memItemLeft" align="right" valign="top"><a id="a368a535d60c3c11e06ac4e37d6afd1d3"></a>
<a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classfair_1_1mq_1_1sdk_1_1AsioBase.html">AsioBase</a> &amp;&amp;) noexcept=default</td></tr>
<tr class="separator:a368a535d60c3c11e06ac4e37d6afd1d3 inherit pub_methods_classfair_1_1mq_1_1sdk_1_1AsioBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Executor, typename Allocator&gt;<br />
class fair::mq::sdk::BasicTopology&lt; Executor, Allocator &gt;</h3>
<p>Represents a FairMQ topology. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Executor</td><td>Associated I/O executor </td></tr>
<tr><td class="paramname">Allocator</td><td>Associated default allocator </td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Thread Safety</dt><dd><em>Distinct</em> <em>objects:</em> Safe.<br />
<em>Shared</em> <em>objects:</em> Safe. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1e6efa6c7cb826022280e0ba5c2bd9d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e6efa6c7cb826022280e0ba5c2bd9d9">&#9670;&nbsp;</a></span>BasicTopology() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html">DDSTopology</a>&#160;</td>
<td class="paramname"><em>topo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html">DDSSession</a>&#160;</td>
<td class="paramname"><em>session</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>(Re)Construct a FairMQ topology from an existing DDS topology </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">topo</td><td><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html" title="Represents a DDS topology. ">DDSTopology</a> </td></tr>
<tr><td class="paramname">session</td><td><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html" title="Represents a DDS session. ">DDSSession</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a50e4f6e8631802ff17ca37e1623c4261"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50e4f6e8631802ff17ca37e1623c4261">&#9670;&nbsp;</a></span>BasicTopology() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::<a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">BasicTopology</a> </td>
<td>(</td>
<td class="paramtype">const Executor &amp;&#160;</td>
<td class="paramname"><em>ex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html">DDSTopology</a>&#160;</td>
<td class="paramname"><em>topo</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html">DDSSession</a>&#160;</td>
<td class="paramname"><em>session</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Allocator&#160;</td>
<td class="paramname"><em>alloc</em> = <code>DefaultAllocator()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>(Re)Construct a FairMQ topology from an existing DDS topology </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ex</td><td>I/O executor to be associated </td></tr>
<tr><td class="paramname">topo</td><td><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSTopology.html" title="Represents a DDS topology. ">DDSTopology</a> </td></tr>
<tr><td class="paramname">session</td><td><a class="el" href="classfair_1_1mq_1_1sdk_1_1DDSSession.html" title="Represents a DDS session. ">DDSSession</a> </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="structfair_1_1mq_1_1sdk_1_1RuntimeError.html">RuntimeError</a></td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a138b4e48a0c000fe78932189f679ce27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a138b4e48a0c000fe78932189f679ce27">&#9670;&nbsp;</a></span>AsyncChangeState() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate state transition on all FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Usage examples</dt><dd>With lambda: <div class="fragment"><div class="line">topo.AsyncChangeState(</div><div class="line"> fair::mq::sdk::TopologyTransition::InitDevice,</div><div class="line"> std::chrono::milliseconds(500),</div><div class="line"> [](std::error_code ec, TopologyState state) {</div><div class="line"> <span class="keywordflow">if</span> (!ec) {</div><div class="line"> <span class="comment">// success</span></div><div class="line"> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ec.category().name() == <span class="stringliteral">&quot;fairmq&quot;</span>) {</div><div class="line"> <span class="keywordflow">switch</span> (static_cast&lt;fair::mq::ErrorCode&gt;(ec.value())) {</div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationTimeout:</div><div class="line"> <span class="comment">// async operation timed out</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationCanceled:</div><div class="line"> <span class="comment">// async operation canceled</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::DeviceChangeStateFailed:</div><div class="line"> <span class="comment">// failed to change state of a fairmq device</span></div><div class="line"> <span class="keywordflow">default</span>:</div><div class="line"> }</div><div class="line"> }</div><div class="line"> }</div><div class="line">);</div></div><!-- fragment --> With future: <div class="fragment"><div class="line"><span class="keyword">auto</span> fut = topo.AsyncChangeState(fair::mq::sdk::TopologyTransition::InitDevice,</div><div class="line"> std::chrono::milliseconds(500),</div><div class="line"> asio::use_future);</div><div class="line"><span class="keywordflow">try</span> {</div><div class="line"> fair::mq::sdk::TopologyState state = fut.get();</div><div class="line"> <span class="comment">// success</span></div><div class="line">} <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::system_error&amp; ex) {</div><div class="line"> <span class="keyword">auto</span> ec(ex.code());</div><div class="line"> <span class="keywordflow">if</span> (ec.category().name() == <span class="stringliteral">&quot;fairmq&quot;</span>) {</div><div class="line"> <span class="keywordflow">switch</span> (static_cast&lt;fair::mq::ErrorCode&gt;(ec.value())) {</div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationTimeout:</div><div class="line"> <span class="comment">// async operation timed out</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationCanceled:</div><div class="line"> <span class="comment">// async operation canceled</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::DeviceChangeStateFailed:</div><div class="line"> <span class="comment">// failed to change state of a fairmq device</span></div><div class="line"> <span class="keywordflow">default</span>:</div><div class="line"> }</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> With coroutine (C++20, see <a href="https://en.cppreference.com/w/cpp/language/coroutines">https://en.cppreference.com/w/cpp/language/coroutines</a>): <div class="fragment"><div class="line"><span class="keywordflow">try</span> {</div><div class="line"> fair::mq::sdk::TopologyState state = co_await</div><div class="line"> topo.AsyncChangeState(fair::mq::sdk::TopologyTransition::InitDevice,</div><div class="line"> std::chrono::milliseconds(500),</div><div class="line"> asio::use_awaitable);</div><div class="line"> <span class="comment">// success</span></div><div class="line">} <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::system_error&amp; ex) {</div><div class="line"> <span class="keyword">auto</span> ec(ex.code());</div><div class="line"> <span class="keywordflow">if</span> (ec.category().name() == <span class="stringliteral">&quot;fairmq&quot;</span>) {</div><div class="line"> <span class="keywordflow">switch</span> (static_cast&lt;fair::mq::ErrorCode&gt;(ec.value())) {</div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationTimeout:</div><div class="line"> <span class="comment">// async operation timed out</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::OperationCanceled:</div><div class="line"> <span class="comment">// async operation canceled</span></div><div class="line"> <span class="keywordflow">case</span> fair::mq::ErrorCode::DeviceChangeStateFailed:</div><div class="line"> <span class="comment">// failed to change state of a fairmq device</span></div><div class="line"> <span class="keywordflow">default</span>:</div><div class="line"> }</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> </dd></dl>
</div>
</div>
<a id="aa5b4640b00e06124a0e8098b05be47b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5b4640b00e06124a0e8098b05be47b9">&#9670;&nbsp;</a></span>AsyncChangeState() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate state transition on all FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a729cd0dcf3b74fc23b5a92a3ab7fecdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a729cd0dcf3b74fc23b5a92a3ab7fecdf">&#9670;&nbsp;</a></span>AsyncChangeState() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate state transition on all FairMQ devices in this topology with a timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aec28b345f009b9e4323fa99bfabf68d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec28b345f009b9e4323fa99bfabf68d4">&#9670;&nbsp;</a></span>AsyncChangeState() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate state transition on all FairMQ devices in this topology with a timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a48d74222cda9c4823c4574f2c0c3d47e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48d74222cda9c4823c4574f2c0c3d47e">&#9670;&nbsp;</a></span>AsyncGetProperties() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncGetProperties </td>
<td>(</td>
<td class="paramtype">DevicePropertyQuery const &amp;&#160;</td>
<td class="paramname"><em>query</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate property query on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">query</td><td>Key(s) to be queried (regex) </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ab68803df2810c82f36662209026a0d90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab68803df2810c82f36662209026a0d90">&#9670;&nbsp;</a></span>AsyncGetProperties() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncGetProperties </td>
<td>(</td>
<td class="paramtype">DevicePropertyQuery const &amp;&#160;</td>
<td class="paramname"><em>query</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate property query on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">query</td><td>Key(s) to be queried (regex) </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a625808ae1486e47bbaae3879521462a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a625808ae1486e47bbaae3879521462a1">&#9670;&nbsp;</a></span>AsyncSetProperties() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncSetProperties </td>
<td>(</td>
<td class="paramtype">const DeviceProperties &amp;&#160;</td>
<td class="paramname"><em>props</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate property update on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">props</td><td>Properties to set </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a55c2824288e7238dd3394ee56c6c29b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55c2824288e7238dd3394ee56c6c29b1">&#9670;&nbsp;</a></span>AsyncSetProperties() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncSetProperties </td>
<td>(</td>
<td class="paramtype">DeviceProperties const &amp;&#160;</td>
<td class="paramname"><em>props</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate property update on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">props</td><td>Properties to set </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a834ce9bc3d4a79e3f369299af973391a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a834ce9bc3d4a79e3f369299af973391a">&#9670;&nbsp;</a></span>AsyncWaitForState() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncWaitForState </td>
<td>(</td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetLastState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetCurrentState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate waiting for selected FairMQ devices to reach given last &amp; current state in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">targetLastState</td><td>the target last device state to wait for </td></tr>
<tr><td class="paramname">targetCurrentState</td><td>the target device state to wait for </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aaddb0296f1d9f282cd31b9d339c43eb9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaddb0296f1d9f282cd31b9d339c43eb9">&#9670;&nbsp;</a></span>AsyncWaitForState() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncWaitForState </td>
<td>(</td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetLastState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetCurrentState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate waiting for selected FairMQ devices to reach given last &amp; current state in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">targetLastState</td><td>the target last device state to wait for </td></tr>
<tr><td class="paramname">targetCurrentState</td><td>the target device state to wait for </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a58224c9577ad69b738a9af5c20716a9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58224c9577ad69b738a9af5c20716a9e">&#9670;&nbsp;</a></span>AsyncWaitForState() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<div class="memtemplate">
template&lt;typename CompletionToken &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::AsyncWaitForState </td>
<td>(</td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetCurrentState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">CompletionToken &amp;&amp;&#160;</td>
<td class="paramname"><em>token</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiate waiting for selected FairMQ devices to reach given current state in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">targetCurrentState</td><td>the target device state to wait for </td></tr>
<tr><td class="paramname">token</td><td>Asio completion token </td></tr>
</table>
</dd>
</dl>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">CompletionToken</td><td>Asio completion token type </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa97ffce815eb1b2af591f8e31263099e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa97ffce815eb1b2af591f8e31263099e">&#9670;&nbsp;</a></span>ChangeState() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::ChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em> = <code>Duration(0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::pair&lt;std::error_code, TopologyState&gt;
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform state transition on FairMQ devices in this topology for a specified topology path. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a81f00e79151817b32420d60ea926a8ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f00e79151817b32420d60ea926a8ba">&#9670;&nbsp;</a></span>ChangeState() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::ChangeState </td>
<td>(</td>
<td class="paramtype">const TopologyTransition&#160;</td>
<td class="paramname"><em>transition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::pair&lt;std::error_code, TopologyState&gt;
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform state transition on all FairMQ devices in this topology with a timeout. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">transition</td><td>FairMQ device state machine transition </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a247c01cea078f6f53e3b2f185583930c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a247c01cea078f6f53e3b2f185583930c">&#9670;&nbsp;</a></span>GetCurrentState()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::GetCurrentState </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const -&gt; TopologyState
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the current state of the topology. </p>
<dl class="section return"><dt>Returns</dt><dd>map of id : <a class="el" href="structfair_1_1mq_1_1sdk_1_1DeviceStatus.html">DeviceStatus</a> </dd></dl>
</div>
</div>
<a id="a184b8bc417c76d908edf433c4be5499a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a184b8bc417c76d908edf433c4be5499a">&#9670;&nbsp;</a></span>GetProperties()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::GetProperties </td>
<td>(</td>
<td class="paramtype">DevicePropertyQuery const &amp;&#160;</td>
<td class="paramname"><em>query</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em> = <code>Duration(0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::pair&lt;std::error_code, <a class="el" href="structfair_1_1mq_1_1sdk_1_1GetPropertiesResult.html">GetPropertiesResult</a>&gt;
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Query properties on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">query</td><td>Key(s) to be queried (regex) </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a869d5f7d468c63864415bbb54600aaf0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a869d5f7d468c63864415bbb54600aaf0">&#9670;&nbsp;</a></span>SetProperties()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::SetProperties </td>
<td>(</td>
<td class="paramtype">DeviceProperties const &amp;&#160;</td>
<td class="paramname"><em>properties</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em> = <code>Duration(0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::pair&lt;std::error_code, FailedDevices&gt;
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set properties on selected FairMQ devices in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">props</td><td>Properties to set </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7d36f2154b3a3b83aede836948ef47a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d36f2154b3a3b83aede836948ef47a1">&#9670;&nbsp;</a></span>WaitForState() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::WaitForState </td>
<td>(</td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetLastState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetCurrentState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em> = <code>Duration(0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::error_code
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for selected FairMQ devices to reach given last &amp; current state in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">targetLastState</td><td>the target last device state to wait for </td></tr>
<tr><td class="paramname">targetCurrentState</td><td>the target device state to wait for </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aedc74bf39cb2b913d9f55ea6c7d1d264"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedc74bf39cb2b913d9f55ea6c7d1d264">&#9670;&nbsp;</a></span>WaitForState() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Executor , typename Allocator &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">auto <a class="el" href="classfair_1_1mq_1_1sdk_1_1BasicTopology.html">fair::mq::sdk::BasicTopology</a>&lt; Executor, Allocator &gt;::WaitForState </td>
<td>(</td>
<td class="paramtype">const DeviceState&#160;</td>
<td class="paramname"><em>targetCurrentState</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Duration&#160;</td>
<td class="paramname"><em>timeout</em> = <code>Duration(0)</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> -&gt; std::error_code
</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for selected FairMQ devices to reach given current state in this topology. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">targetCurrentState</td><td>the target device state to wait for </td></tr>
<tr><td class="paramname">path</td><td>Select a subset of FairMQ devices in this topology, empty selects all </td></tr>
<tr><td class="paramname">timeout</td><td>Timeout in milliseconds, 0 means no timeout </td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::system_error</td><td></td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>fairmq/sdk/<a class="el" href="Topology_8h_source.html">Topology.h</a></li>
</ul>
</div><!-- contents -->
<p style="margin: 0 12px 10px 12px;"><a href="https://help.github.com/articles/github-privacy-statement/">privacy</a></p>