a00748.html

来自「opendds 1.2 最新版 面向分布式实时网络编程」· HTML 代码 · 共 757 行 · 第 1/3 页

HTML
757 行
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>OpenDDS: OpenDDS::DCPS::TransportInterface Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="a01301.html">OpenDDS</a>::<a class="el" href="a01275.html">DCPS</a>::<a class="el" href="a00748.html">TransportInterface</a></div>
<h1>OpenDDS::DCPS::TransportInterface Class Reference</h1><!-- doxytag: class="OpenDDS::DCPS::TransportInterface" --><code>#include &lt;TransportInterface.h&gt;</code>
<p>
Inheritance diagram for OpenDDS::DCPS::TransportInterface:<p><center><img src="a02871.png" border="0" usemap="#a02872" alt="Inheritance graph"></center>
<map name="a02872">
<area href="a00632.html" shape="rect" coords="5,81,232,105" alt="">
<area href="a00710.html" shape="rect" coords="256,81,491,105" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for OpenDDS::DCPS::TransportInterface:<p><center><img src="a02873.png" border="0" usemap="#a02874" alt="Collaboration graph"></center>
<map name="a02874">
<area href="a00496.html" shape="rect" coords="6,200,251,224" alt="">
<area href="a00639.html" shape="rect" coords="178,148,415,172" alt="">
<area href="a00749.html" shape="rect" coords="399,200,682,224" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="a00110.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#10ead6c344728d125c0ede6bee52309c">~TransportInterface</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00749.html">TransportInterfaceInfo</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#d84088485384efe91e5ecae1cd4b5741">connection_info</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessor for the <a class="el" href="a00749.html">TransportInterfaceInfo</a>.  <a href="#d84088485384efe91e5ecae1cd4b5741"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#0c6622f1a2271127487491e325e9d04a">swap_bytes</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Accessor for the swap_bytes configuration value.  <a href="#0c6622f1a2271127487491e325e9d04a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a01275.html#b4a8ac400b204a2d85c22c8015dbc8de">SendControlStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#aac78747b2a83a129769d646257569fa">send_control</a> (<a class="el" href="a00552.html">RepoId</a> pub_id, <a class="el" href="a00758.html">TransportSendListener</a> *listener, ACE_Message_Block *msg)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#ac8e1da4b0ea3caa551a6f0db152f669">remove_sample</a> (const <a class="el" href="a00506.html">DataSampleListElement</a> *sample, bool dropped_by_transport)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#a1d557842dbee58dd005d1e6021b8ad4">remove_all_control_msgs</a> (<a class="el" href="a00552.html">RepoId</a> pub_id)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a01275.html#f9c05a440ed5e1a2b06b86a0c4459b01">AttachStatus</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#a3cdfed648aa9f41ed98a9bf018e136c">attach_transport</a> (<a class="el" href="a00746.html">TransportImpl</a> *impl)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">TransportImpl_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#0e689aa6a53b70f455e9af566fc01c7b">get_transport_impl</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the <a class="el" href="a00746.html">TransportImpl</a> object reference.  <a href="#0e689aa6a53b70f455e9af566fc01c7b"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#cd1b8d3d9d7205de29e38d0ebd7dbbad">TransportInterface</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#a02b467b9a7b602a6527ebfc82b1e711">add_subscriptions</a> (<a class="el" href="a00552.html">RepoId</a> publisher_id, CORBA::Long priority, ssize_t size, const <a class="el" href="a00471.html">AssociationData</a> *subscriptions)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#d198894e763f41e546e8f9234bc0a31e">add_publications</a> (<a class="el" href="a00552.html">RepoId</a> subscriber_id, <a class="el" href="a00753.html">TransportReceiveListener</a> *receive_listener, CORBA::Long priority, ssize_t size, const <a class="el" href="a00471.html">AssociationData</a> *publications)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#22c98044b063e0b9ebdf813d0b580ded">remove_associations</a> (ssize_t size, const <a class="el" href="a00552.html">RepoId</a> *remote_ids, const <a class="el" href="a00552.html">RepoId</a> local_id, const bool pub_side)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#d82f767eca00f34173e486cf23126706">send</a> (const <a class="el" href="a00505.html">DataSampleList</a> &amp;samples)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#20982b01dde8b4fbde18712573db05b3">detach_transport</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#78a0f345804e82f925e23b6099d1906a">transport_detached_i</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Private Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_SYNCH_MUTEX&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#7f314dc86775f9bf42a4a02f961a5693">LockType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Guard&lt; <a class="el" href="a00748.html#7f314dc86775f9bf42a4a02f961a5693">LockType</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#f31c846c0cd777d436111c84d89b2202">GuardType</a></td></tr>

<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#3e62ebf7203393caa49d6448234c55f2">transport_detached</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#996261e6d5db4d5b064050f06c6adf39">add_associations</a> (<a class="el" href="a00552.html">RepoId</a> local_id, CORBA::Long priority, const char *local_id_str, const char *remote_id_str, size_t num_remote_associations, const <a class="el" href="a00471.html">AssociationData</a> *remote_associations, <a class="el" href="a00753.html">TransportReceiveListener</a> *receive_listener=0)</td></tr>

<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00748.html#7f314dc86775f9bf42a4a02f961a5693">LockType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#ff3aec9b207aa543ae40bae9c76a3368">lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to protect the impl_ data member, and our state_.  <a href="#ff3aec9b207aa543ae40bae9c76a3368"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">TransportImpl_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#b9e7cef37c91bdccf605649c72a7948e">impl_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00749.html">TransportInterfaceInfo</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#6e8a116657d72f29606397c16e37fc6b">connection_info_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#fab0a9b2782d5c3ae10a0d08f96cd855">swap_bytes_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00496.html">DataLinkSetMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#9f3351f73b982e99a727a10ebe872f33">local_map_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00496.html">DataLinkSetMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#d5533af514c227ec9d2cbee680ae091b">remote_map_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">DataLinkSet_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#4c8b29503c1b6d96ee4c97bba19de5b5">send_links_</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00748.html#59ab8f680dc74c1ecc57d6412ceb3b6e">TransportImpl</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class provides the methods that the DSPS components use to call into the <a class="el" href="a01304.html">Transport</a> layer. This is the main mechanism by which the application sends data to subscriptions and manages associations between publications and subscriptions in the service. 
<p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="f31c846c0cd777d436111c84d89b2202"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::GuardType" ref="f31c846c0cd777d436111c84d89b2202" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_Guard&lt;<a class="el" href="a00748.html#7f314dc86775f9bf42a4a02f961a5693">LockType</a>&gt; <a class="el" href="a00748.html#f31c846c0cd777d436111c84d89b2202">OpenDDS::DCPS::TransportInterface::GuardType</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7f314dc86775f9bf42a4a02f961a5693"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::LockType" ref="7f314dc86775f9bf42a4a02f961a5693" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_SYNCH_MUTEX <a class="el" href="a00748.html#7f314dc86775f9bf42a4a02f961a5693">OpenDDS::DCPS::TransportInterface::LockType</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="10ead6c344728d125c0ede6bee52309c"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::~TransportInterface" ref="10ead6c344728d125c0ede6bee52309c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OpenDDS::DCPS::TransportInterface::~TransportInterface           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="cd1b8d3d9d7205de29e38d0ebd7dbbad"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::TransportInterface" ref="cd1b8d3d9d7205de29e38d0ebd7dbbad" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ACE_INLINE OpenDDS::DCPS::TransportInterface::TransportInterface           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="996261e6d5db4d5b064050f06c6adf39"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::add_associations" ref="996261e6d5db4d5b064050f06c6adf39" args="(RepoId local_id, CORBA::Long priority, const char *local_id_str, const char *remote_id_str, size_t num_remote_associations, const AssociationData *remote_associations, TransportReceiveListener *receive_listener=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OpenDDS::DCPS::TransportInterface::add_associations           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00552.html">RepoId</a>&nbsp;</td>
          <td class="paramname"> <em>local_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CORBA::Long&nbsp;</td>
          <td class="paramname"> <em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>local_id_str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>remote_id_str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>num_remote_associations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00471.html">AssociationData</a> *&nbsp;</td>
          <td class="paramname"> <em>remote_associations</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00753.html">TransportReceiveListener</a> *&nbsp;</td>
          <td class="paramname"> <em>receive_listener</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generic algorithm used by add_publications and add_subscriptions, with the arguments determining the context (ie, local vs. remote and subscriber vs. publisher). 
</div>
</div><p>
<a class="anchor" name="d198894e763f41e546e8f9234bc0a31e"></a><!-- doxytag: member="OpenDDS::DCPS::TransportInterface::add_publications" ref="d198894e763f41e546e8f9234bc0a31e" args="(RepoId subscriber_id, TransportReceiveListener *receive_listener, CORBA::Long priority, ssize_t size, const AssociationData *publications)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?