a00746.html

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

HTML
1,052 行
字号
</div>
<div class="memdoc">

<p>
Called by our friend, the <a class="el" href="a00748.html">TransportInterface</a>, to detach itself to this <a class="el" href="a00746.html">TransportImpl</a> object. 
</div>
</div><p>
<a class="anchor" name="024f42725ba0f14b8cd13154d5fa574e"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::find_or_create_datalink" ref="024f42725ba0f14b8cd13154d5fa574e" args="(const TransportInterfaceInfo &amp;remote_info, int connect_as_publisher)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00493.html">DataLink</a>* OpenDDS::DCPS::TransportImpl::find_or_create_datalink           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00749.html">TransportInterfaceInfo</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>remote_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>connect_as_publisher</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If connect_as_publisher == 1, then this <a class="el" href="a00746.html#024f42725ba0f14b8cd13154d5fa574e">find_or_create_datalink()</a> call is being made on behalf of a local publisher id association with a remote subscriber id. If connect_as_publisher == 0, then this <a class="el" href="a00746.html#024f42725ba0f14b8cd13154d5fa574e">find_or_create_datalink()</a> call is being made on behalf of a local subscriber id association with a remote publisher id. Note that this "flag" is only used if the find operation fails, and a new <a class="el" href="a00493.html">DataLink</a> must created and go through connection establishment. This allows the connection establishment logic to determine whether an active or passive connection needs to be made. If the find operation works, then we don't need to establish a connection since the existing <a class="el" href="a00493.html">DataLink</a> is already connected. 
<p>
Implemented in <a class="el" href="a00656.html#697b2cb5c1077352bdbb0c497279cb6a">OpenDDS::DCPS::ReliableMulticastTransportImpl</a>, <a class="el" href="a00693.html#659dee90f3174fc02fea2504109f1329">OpenDDS::DCPS::SimpleTcpTransport</a>, and <a class="el" href="a00705.html#868595a4d6f1c3aec0d53261b78230de">OpenDDS::DCPS::SimpleUnreliableDgramTransport</a>.
</div>
</div><p>
<a class="anchor" name="0f296f24203e8afa27eb67800e1e4b0f"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::find_publication" ref="0f296f24203e8afa27eb67800e1e4b0f" args="(RepoId pub_id, bool safe_cpy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00509.html">OpenDDS::DCPS::DataWriterImpl</a> * OpenDDS::DCPS::TransportImpl::find_publication           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00552.html">RepoId</a>&nbsp;</td>
          <td class="paramname"> <em>pub_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>safe_cpy</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If a safe copy (safe_cpy) is requested, the callee is responsible for bumping down the ref count. 
</div>
</div><p>
<a class="anchor" name="e44e2becdc92b9342c480243bb2290e4"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::find_subscription" ref="e44e2becdc92b9342c480243bb2290e4" args="(RepoId sub_id, bool safe_cpy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00498.html">OpenDDS::DCPS::DataReaderImpl</a> * OpenDDS::DCPS::TransportImpl::find_subscription           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00552.html">RepoId</a>&nbsp;</td>
          <td class="paramname"> <em>sub_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>safe_cpy</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If a safe copy (safe_cpy) is requested, the callee is responsible for bumping down the ref count. 
</div>
</div><p>
<a class="anchor" name="78dd03b0c87823f077e2efc173e648f5"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::pre_shutdown_i" ref="78dd03b0c87823f077e2efc173e648f5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ACE_INLINE void OpenDDS::DCPS::TransportImpl::pre_shutdown_i           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called before transport is shutdown to let the concrete transport to do anything necessary. 
<p>
Reimplemented in <a class="el" href="a00693.html#b855e7ab239436c8ca2005507ae61a50">OpenDDS::DCPS::SimpleTcpTransport</a>.
</div>
</div><p>
<a class="anchor" name="9d9d9e8ce9c642a0ee54cef26b392a69"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::reactor_task" ref="9d9d9e8ce9c642a0ee54cef26b392a69" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ACE_INLINE <a class="el" href="a00752.html">OpenDDS::DCPS::TransportReactorTask</a> * OpenDDS::DCPS::TransportImpl::reactor_task           </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>
NOTE: Should only be called if this-&gt;lock_ has already been acquired. 
<p>
Accessor to obtain a "copy" of the reference to the reactor task. Caller is responsible for the "copy" of the reference that is returned. 
</div>
</div><p>
<a class="anchor" name="83219d07b50f90f0039937e355b12d11"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::register_publication" ref="83219d07b50f90f0039937e355b12d11" args="(RepoId pub_id, DataWriterImpl *dw)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OpenDDS::DCPS::TransportImpl::register_publication           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00552.html">RepoId</a>&nbsp;</td>
          <td class="paramname"> <em>pub_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00509.html">DataWriterImpl</a> *&nbsp;</td>
          <td class="paramname"> <em>dw</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by the <a class="el" href="a00632.html">PublisherImpl</a> to register datawriter upon datawriter creation. 
</div>
</div><p>
<a class="anchor" name="593b5c476867e19025dbca02b38b2b6d"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::register_subscription" ref="593b5c476867e19025dbca02b38b2b6d" args="(RepoId sub_id, DataReaderImpl *dr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int OpenDDS::DCPS::TransportImpl::register_subscription           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00552.html">RepoId</a>&nbsp;</td>
          <td class="paramname"> <em>sub_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00498.html">DataReaderImpl</a> *&nbsp;</td>
          <td class="paramname"> <em>dr</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Called by the <a class="el" href="a00710.html">SubscriberImpl</a> to register datareader upon datareader creation. 
</div>
</div><p>
<a class="anchor" name="bfda5d606941040b98d794bcb0ba16ac"></a><!-- doxytag: member="OpenDDS::DCPS::TransportImpl::release_datalink" ref="bfda5d606941040b98d794bcb0ba16ac" args="(DataLink *link)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ACE_INLINE void OpenDDS::DCPS::TransportImpl::release_datalink           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00493.html">DataLink</a> *&nbsp;</td>
          <td class="paramname"> <em>link</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

⌨️ 快捷键说明

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