FairMQ/v1.3.8/classFairMQTransportFactory.html
2019-01-07 13:13:30 +01:00

337 lines
24 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FairMQ: FairMQTransportFactory 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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">FairMQ
&#160;<span id="projectnumber">1.3.8</span>
</div>
<div id="projectbrief">C++ Message Passing Framework</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classFairMQTransportFactory-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">FairMQTransportFactory Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for FairMQTransportFactory:</div>
<div class="dyncontent">
<div class="center"><img src="classFairMQTransportFactory__inherit__graph.png" border="0" usemap="#FairMQTransportFactory_inherit__map" alt="Inheritance graph"/></div>
<map name="FairMQTransportFactory_inherit__map" id="FairMQTransportFactory_inherit__map">
<area shape="rect" id="node2" href="classfair_1_1mq_1_1ofi_1_1TransportFactory.html" title="FairMQ transport factory for the ofi transport (implemented with ZeroMQ + libfabric) ..." alt="" coords="239,5,389,47"/>
<area shape="rect" id="node3" href="classFairMQTransportFactoryNN.html" title="FairMQTransportFactoryNN" alt="" coords="223,71,405,98"/>
<area shape="rect" id="node4" href="classFairMQTransportFactorySHM.html" title="FairMQTransportFactorySHM" alt="" coords="217,122,411,149"/>
<area shape="rect" id="node5" href="classFairMQTransportFactoryZMQ.html" title="FairMQTransportFactoryZMQ" alt="" coords="217,173,411,199"/>
</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-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aafbb0f83fc97a50e96c7e6616bc215c9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#aafbb0f83fc97a50e96c7e6616bc215c9">FairMQTransportFactory</a> (const std::string &amp;id)</td></tr>
<tr class="separator:aafbb0f83fc97a50e96c7e6616bc215c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b39bedec57fb890cee700bf8653f5a"><td class="memItemLeft" align="right" valign="top"><a id="a56b39bedec57fb890cee700bf8653f5a"></a>
auto&#160;</td><td class="memItemRight" valign="bottom"><b>GetId</b> () const -&gt; const std::string</td></tr>
<tr class="separator:a56b39bedec57fb890cee700bf8653f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4be5580ac0bb62cd891fc1f13f1b8a58"><td class="memItemLeft" align="right" valign="top"><a id="a4be5580ac0bb62cd891fc1f13f1b8a58"></a>
<a class="el" href="classfair_1_1mq_1_1ChannelResource.html">fair::mq::ChannelResource</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a4be5580ac0bb62cd891fc1f13f1b8a58">GetMemoryResource</a> ()</td></tr>
<tr class="memdesc:a4be5580ac0bb62cd891fc1f13f1b8a58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the associated polymorphic memory resource. <br /></td></tr>
<tr class="separator:a4be5580ac0bb62cd891fc1f13f1b8a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4044cf255e5b4ca3406f13ace2ecdc57"><td class="memItemLeft" align="right" valign="top"><a id="a4044cf255e5b4ca3406f13ace2ecdc57"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>operator fair::mq::ChannelResource *</b> ()</td></tr>
<tr class="separator:a4044cf255e5b4ca3406f13ace2ecdc57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb42782c89c1b412051f4c448fbb7696"><td class="memItemLeft" align="right" valign="top">virtual FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#abb42782c89c1b412051f4c448fbb7696">CreateMessage</a> ()=0</td></tr>
<tr class="memdesc:abb42782c89c1b412051f4c448fbb7696"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create empty <a class="el" href="classFairMQMessage.html">FairMQMessage</a>. <a href="#abb42782c89c1b412051f4c448fbb7696">More...</a><br /></td></tr>
<tr class="separator:abb42782c89c1b412051f4c448fbb7696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cfe2327b906688096bea8854970c578"><td class="memItemLeft" align="right" valign="top">virtual FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a7cfe2327b906688096bea8854970c578">CreateMessage</a> (const size_t size)=0</td></tr>
<tr class="memdesc:a7cfe2327b906688096bea8854970c578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new <a class="el" href="classFairMQMessage.html">FairMQMessage</a> of specified size. <a href="#a7cfe2327b906688096bea8854970c578">More...</a><br /></td></tr>
<tr class="separator:a7cfe2327b906688096bea8854970c578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3c89db0c9cd0414745d14dee0300d4"><td class="memItemLeft" align="right" valign="top">virtual FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a9e3c89db0c9cd0414745d14dee0300d4">CreateMessage</a> (void *data, const size_t size, fairmq_free_fn *ffn, void *hint=nullptr)=0</td></tr>
<tr class="memdesc:a9e3c89db0c9cd0414745d14dee0300d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new <a class="el" href="classFairMQMessage.html">FairMQMessage</a> with user provided buffer and size. <a href="#a9e3c89db0c9cd0414745d14dee0300d4">More...</a><br /></td></tr>
<tr class="separator:a9e3c89db0c9cd0414745d14dee0300d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b427b161f32f83047885170457f98e6"><td class="memItemLeft" align="right" valign="top"><a id="a8b427b161f32f83047885170457f98e6"></a>
virtual FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><b>CreateMessage</b> (FairMQUnmanagedRegionPtr &amp;unmanagedRegion, void *data, const size_t size, void *hint=0)=0</td></tr>
<tr class="separator:a8b427b161f32f83047885170457f98e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38e3409319ed0d9055078a6e5bb3ef8"><td class="memItemLeft" align="right" valign="top"><a id="ab38e3409319ed0d9055078a6e5bb3ef8"></a>
virtual FairMQSocketPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#ab38e3409319ed0d9055078a6e5bb3ef8">CreateSocket</a> (const std::string &amp;type, const std::string &amp;name)=0</td></tr>
<tr class="memdesc:ab38e3409319ed0d9055078a6e5bb3ef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a socket. <br /></td></tr>
<tr class="separator:ab38e3409319ed0d9055078a6e5bb3ef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6de98e1652b6ad68e4d78dd31eea40cc"><td class="memItemLeft" align="right" valign="top"><a id="a6de98e1652b6ad68e4d78dd31eea40cc"></a>
virtual FairMQPollerPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a6de98e1652b6ad68e4d78dd31eea40cc">CreatePoller</a> (const std::vector&lt; <a class="el" href="classFairMQChannel.html">FairMQChannel</a> &gt; &amp;channels) const =0</td></tr>
<tr class="memdesc:a6de98e1652b6ad68e4d78dd31eea40cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a poller for a single channel (all subchannels) <br /></td></tr>
<tr class="separator:a6de98e1652b6ad68e4d78dd31eea40cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d686218dbb4a748c201abfc938c7666"><td class="memItemLeft" align="right" valign="top"><a id="a8d686218dbb4a748c201abfc938c7666"></a>
virtual FairMQPollerPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a8d686218dbb4a748c201abfc938c7666">CreatePoller</a> (const std::vector&lt; <a class="el" href="classFairMQChannel.html">FairMQChannel</a> *&gt; &amp;channels) const =0</td></tr>
<tr class="memdesc:a8d686218dbb4a748c201abfc938c7666"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a poller for specific channels. <br /></td></tr>
<tr class="separator:a8d686218dbb4a748c201abfc938c7666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fd308e4e5203814ca7012ef526d3fdf"><td class="memItemLeft" align="right" valign="top"><a id="a7fd308e4e5203814ca7012ef526d3fdf"></a>
virtual FairMQPollerPtr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a7fd308e4e5203814ca7012ef526d3fdf">CreatePoller</a> (const std::unordered_map&lt; std::string, std::vector&lt; <a class="el" href="classFairMQChannel.html">FairMQChannel</a> &gt;&gt; &amp;channelsMap, const std::vector&lt; std::string &gt; &amp;channelList) const =0</td></tr>
<tr class="memdesc:a7fd308e4e5203814ca7012ef526d3fdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a poller for specific channels (all subchannels) <br /></td></tr>
<tr class="separator:a7fd308e4e5203814ca7012ef526d3fdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a307e8b490d27e1b94deafe1e24671d0d"><td class="memItemLeft" align="right" valign="top"><a id="a307e8b490d27e1b94deafe1e24671d0d"></a>
virtual FairMQUnmanagedRegionPtr&#160;</td><td class="memItemRight" valign="bottom"><b>CreateUnmanagedRegion</b> (const size_t size, FairMQRegionCallback callback=nullptr) const =0</td></tr>
<tr class="separator:a307e8b490d27e1b94deafe1e24671d0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c62d8792229cf3eec74d75e15cc6cf4"><td class="memItemLeft" align="right" valign="top"><a id="a5c62d8792229cf3eec74d75e15cc6cf4"></a>
virtual fair::mq::Transport&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFairMQTransportFactory.html#a5c62d8792229cf3eec74d75e15cc6cf4">GetType</a> () const =0</td></tr>
<tr class="memdesc:a5c62d8792229cf3eec74d75e15cc6cf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get transport type. <br /></td></tr>
<tr class="separator:a5c62d8792229cf3eec74d75e15cc6cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85e72772d8f80e16c9d7fac2087f0154"><td class="memItemLeft" align="right" valign="top"><a id="a85e72772d8f80e16c9d7fac2087f0154"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Interrupt</b> ()=0</td></tr>
<tr class="separator:a85e72772d8f80e16c9d7fac2087f0154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b140f7ca77c47d8dded30ed15f5a8bf"><td class="memItemLeft" align="right" valign="top"><a id="a3b140f7ca77c47d8dded30ed15f5a8bf"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Resume</b> ()=0</td></tr>
<tr class="separator:a3b140f7ca77c47d8dded30ed15f5a8bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1da10d19a88eb4757ba8676fcc36b8f"><td class="memItemLeft" align="right" valign="top"><a id="ac1da10d19a88eb4757ba8676fcc36b8f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>Reset</b> ()=0</td></tr>
<tr class="separator:ac1da10d19a88eb4757ba8676fcc36b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59a6bb79ab22b11cbd276d726fd30901"><td class="memTemplParams" colspan="2"><a id="a59a6bb79ab22b11cbd276d726fd30901"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a59a6bb79ab22b11cbd276d726fd30901"><td class="memTemplItemLeft" align="right" valign="top">FairMQMessagePtr&#160;</td><td class="memTemplItemRight" valign="bottom"><b>NewSimpleMessage</b> (const T &amp;data)</td></tr>
<tr class="separator:a59a6bb79ab22b11cbd276d726fd30901"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1d444e9e434258b015b9a8f59c95bf"><td class="memTemplParams" colspan="2"><a id="a4e1d444e9e434258b015b9a8f59c95bf"></a>
template&lt;std::size_t N&gt; </td></tr>
<tr class="memitem:a4e1d444e9e434258b015b9a8f59c95bf"><td class="memTemplItemLeft" align="right" valign="top">FairMQMessagePtr&#160;</td><td class="memTemplItemRight" valign="bottom"><b>NewSimpleMessage</b> (const char(&amp;data)[N])</td></tr>
<tr class="separator:a4e1d444e9e434258b015b9a8f59c95bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa439824a313fbc17635c442d6a82e9"><td class="memItemLeft" align="right" valign="top"><a id="aaaa439824a313fbc17635c442d6a82e9"></a>
FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><b>NewSimpleMessage</b> (const std::string &amp;str)</td></tr>
<tr class="separator:aaaa439824a313fbc17635c442d6a82e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ff0f7ab0367bff557e67dae4e6b09d4"><td class="memTemplParams" colspan="2"><a id="a9ff0f7ab0367bff557e67dae4e6b09d4"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9ff0f7ab0367bff557e67dae4e6b09d4"><td class="memTemplItemLeft" align="right" valign="top">FairMQMessagePtr&#160;</td><td class="memTemplItemRight" valign="bottom"><b>NewStaticMessage</b> (const T &amp;data)</td></tr>
<tr class="separator:a9ff0f7ab0367bff557e67dae4e6b09d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f7a407c742266e8b0a9a1ab4553e30a"><td class="memItemLeft" align="right" valign="top"><a id="a4f7a407c742266e8b0a9a1ab4553e30a"></a>
FairMQMessagePtr&#160;</td><td class="memItemRight" valign="bottom"><b>NewStaticMessage</b> (const std::string &amp;str)</td></tr>
<tr class="separator:a4f7a407c742266e8b0a9a1ab4553e30a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a702085eb13b47c137a1ccb631249bfb8"><td class="memItemLeft" align="right" valign="top"><a id="a702085eb13b47c137a1ccb631249bfb8"></a>
static auto&#160;</td><td class="memItemRight" valign="bottom"><b>CreateTransportFactory</b> (const std::string &amp;type, const std::string &amp;id=&quot;&quot;, const <a class="el" href="classFairMQProgOptions.html">FairMQProgOptions</a> *config=nullptr) -&gt; std::shared_ptr&lt; <a class="el" href="classFairMQTransportFactory.html">FairMQTransportFactory</a> &gt;</td></tr>
<tr class="separator:a702085eb13b47c137a1ccb631249bfb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3f845a722ba2c7effb7ba4d609be8b"><td class="memItemLeft" align="right" valign="top"><a id="a1e3f845a722ba2c7effb7ba4d609be8b"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>FairMQNoCleanup</b> (void *, void *)</td></tr>
<tr class="separator:a1e3f845a722ba2c7effb7ba4d609be8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a749b6b1f0c527a2ea28e9d78e5953a98"><td class="memTemplParams" colspan="2"><a id="a749b6b1f0c527a2ea28e9d78e5953a98"></a>
template&lt;typename T &gt; </td></tr>
<tr class="memitem:a749b6b1f0c527a2ea28e9d78e5953a98"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>FairMQSimpleMsgCleanup</b> (void *, void *obj)</td></tr>
<tr class="separator:a749b6b1f0c527a2ea28e9d78e5953a98"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aafbb0f83fc97a50e96c7e6616bc215c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafbb0f83fc97a50e96c7e6616bc215c9">&#9670;&nbsp;</a></span>FairMQTransportFactory()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FairMQTransportFactory::FairMQTransportFactory </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ctor </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">id</td><td>Topology wide unique id, usually the device id. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="abb42782c89c1b412051f4c448fbb7696"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb42782c89c1b412051f4c448fbb7696">&#9670;&nbsp;</a></span>CreateMessage() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create empty <a class="el" href="classFairMQMessage.html">FairMQMessage</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>pointer to <a class="el" href="classFairMQMessage.html">FairMQMessage</a> </dd></dl>
<p>Implemented in <a class="el" href="classFairMQTransportFactoryZMQ.html#a5593a92290793c735fa119adb666e461">FairMQTransportFactoryZMQ</a>, <a class="el" href="classFairMQTransportFactorySHM.html#aae6592386a00edd2d05f1f3ecff94cec">FairMQTransportFactorySHM</a>, and <a class="el" href="classFairMQTransportFactoryNN.html#aded920fca3229706cad93e3dab1a5d3e">FairMQTransportFactoryNN</a>.</p>
</div>
</div>
<a id="a7cfe2327b906688096bea8854970c578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cfe2327b906688096bea8854970c578">&#9670;&nbsp;</a></span>CreateMessage() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage </td>
<td>(</td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create new <a class="el" href="classFairMQMessage.html">FairMQMessage</a> of specified size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>message size </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to <a class="el" href="classFairMQMessage.html">FairMQMessage</a> </dd></dl>
<p>Implemented in <a class="el" href="classFairMQTransportFactoryZMQ.html#a931737421612e9de46208f1b3b0c038a">FairMQTransportFactoryZMQ</a>, <a class="el" href="classFairMQTransportFactorySHM.html#a99838968e9215fac910f923022e20ba2">FairMQTransportFactorySHM</a>, and <a class="el" href="classFairMQTransportFactoryNN.html#acc2217b24418cbceee3a53091dfd00a5">FairMQTransportFactoryNN</a>.</p>
</div>
</div>
<a id="a9e3c89db0c9cd0414745d14dee0300d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e3c89db0c9cd0414745d14dee0300d4">&#9670;&nbsp;</a></span>CreateMessage() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual FairMQMessagePtr FairMQTransportFactory::CreateMessage </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const size_t&#160;</td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">fairmq_free_fn *&#160;</td>
<td class="paramname"><em>ffn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>hint</em> = <code>nullptr</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">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create new <a class="el" href="classFairMQMessage.html">FairMQMessage</a> with user provided buffer and size. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>pointer to user provided buffer </td></tr>
<tr><td class="paramname">size</td><td>size of the user provided buffer </td></tr>
<tr><td class="paramname">ffn</td><td>callback, called when the message is transfered (and can be deleted) </td></tr>
<tr><td class="paramname">obj</td><td>optional helper pointer that can be used in the callback </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to <a class="el" href="classFairMQMessage.html">FairMQMessage</a> </dd></dl>
<p>Implemented in <a class="el" href="classFairMQTransportFactoryZMQ.html#a3dffef7f64f65a21d50e136883745001">FairMQTransportFactoryZMQ</a>, <a class="el" href="classFairMQTransportFactorySHM.html#a62bb089a99a7138ab127cca048a127e3">FairMQTransportFactorySHM</a>, and <a class="el" href="classFairMQTransportFactoryNN.html#a41493229f98d7959c5e3c8d5e13d8c3f">FairMQTransportFactoryNN</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>fairmq/<a class="el" href="FairMQTransportFactory_8h_source.html">FairMQTransportFactory.h</a></li>
<li>fairmq/FairMQTransportFactory.cxx</li>
</ul>
</div><!-- contents -->
<p style="margin: 0 12px 10px 12px;"><a href="https://help.github.com/articles/github-privacy-statement/">privacy</a></p>