📄 a00754.html
字号:
</div>
</div><p>
<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="a08019bc1097482f0fc52c63c579f96e"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::~TransportReceiveStrategy" ref="a08019bc1097482f0fc52c63c579f96e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">OpenDDS::DCPS::TransportReceiveStrategy::~TransportReceiveStrategy </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="0e49501f0f60ddda073fd87870083b99"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::TransportReceiveStrategy" ref="0e49501f0f60ddda073fd87870083b99" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">OpenDDS::DCPS::TransportReceiveStrategy::TransportReceiveStrategy </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </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="e78a1ed1c20a98cb52119dba331e5e51"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::deliver_sample" ref="e78a1ed1c20a98cb52119dba331e5e51" args="(ReceivedDataSample &sample, const ACE_INET_Addr &remote_address)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void OpenDDS::DCPS::TransportReceiveStrategy::deliver_sample </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00647.html">ReceivedDataSample</a> & </td>
<td class="paramname"> <em>sample</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ACE_INET_Addr & </td>
<td class="paramname"> <em>remote_address</em></td><td> </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>
Called when there is a <a class="el" href="a00647.html">ReceivedDataSample</a> to be delivered.
<p>
<p>
Implemented in <a class="el" href="a00658.html#25b11f9f6e258e97ae490a9b7dc3d152">OpenDDS::DCPS::ReliableMulticastTransportReceiveStrategy</a>, <a class="el" href="a00689.html#a0c41516acaf6071744fc65b9765e278">OpenDDS::DCPS::SimpleTcpReceiveStrategy</a>, and <a class="el" href="a00701.html#06f72740da0e615406e2809986c43609">OpenDDS::DCPS::SimpleUnreliableDgramReceiveStrategy</a>.
</div>
</div><p>
<a class="anchor" name="7b86a1169435a35b92d36fd0e39b0bd4"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::handle_input" ref="7b86a1169435a35b92d36fd0e39b0bd4" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::TransportReceiveStrategy::handle_input </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Note that this is just an initial implementation. We may take some shortcuts (we will) that will need to be dealt with later once a more robust implementation can be put in place.<p>
Our <a class="el" href="a00754.html#7b86a1169435a35b92d36fd0e39b0bd4">handle_input()</a> method is called by the reactor when there is data to be pulled from our peer() ACE_SOCK_Stream.
<p>
TODO
</div>
</div><p>
<a class="anchor" name="97cc1be21ba30f5098f5d7dc474e4cca"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::receive_bytes" ref="97cc1be21ba30f5098f5d7dc474e4cca" args="(iovec iov[], int n, ACE_INET_Addr &remote_address)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual ssize_t OpenDDS::DCPS::TransportReceiveStrategy::receive_bytes </td>
<td>(</td>
<td class="paramtype">iovec </td>
<td class="paramname"> <em>iov</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ACE_INET_Addr & </td>
<td class="paramname"> <em>remote_address</em></td><td> </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>
Only our subclass knows how to do this.
<p>
<p>
Implemented in <a class="el" href="a00658.html#3d51f2642e1b39fb9dd601c57da43c93">OpenDDS::DCPS::ReliableMulticastTransportReceiveStrategy</a>, <a class="el" href="a00689.html#78c500a4d083cae7cdd884cd912edfaf">OpenDDS::DCPS::SimpleTcpReceiveStrategy</a>, and <a class="el" href="a00701.html#37d57409700a9363a9c4e0e21df129a6">OpenDDS::DCPS::SimpleUnreliableDgramReceiveStrategy</a>.
</div>
</div><p>
<a class="anchor" name="329e79ae824ef71afed0ad2e184c65b8"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::relink" ref="329e79ae824ef71afed0ad2e184c65b8" args="(bool do_suspend=true)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ACE_INLINE void OpenDDS::DCPS::TransportReceiveStrategy::relink </td>
<td>(</td>
<td class="paramtype">bool </td>
<td class="paramname"> <em>do_suspend</em> = <code>true</code> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The subclass needs to provide the implementation for re-establishing the datalink. This is called when recv returns an error.
<p>
Reimplemented in <a class="el" href="a00689.html#f7bb1a02128b4f7d90d255a998f83660">OpenDDS::DCPS::SimpleTcpReceiveStrategy</a>.
</div>
</div><p>
<a class="anchor" name="b894432f3a5256c987316a2c505835c5"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::start" ref="b894432f3a5256c987316a2c505835c5" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ACE_INLINE int OpenDDS::DCPS::TransportReceiveStrategy::start </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
</div><p>
<a class="anchor" name="805e510a5289563df1eb33c8d8ca859b"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::start_i" ref="805e510a5289563df1eb33c8d8ca859b" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual int OpenDDS::DCPS::TransportReceiveStrategy::start_i </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [protected, pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Let the subclass start.
<p>
<p>
Implemented in <a class="el" href="a00658.html#6b2a38f3866c788265c944a0f6fca585">OpenDDS::DCPS::ReliableMulticastTransportReceiveStrategy</a>, <a class="el" href="a00689.html#2451b7706be86689058448f7b3dc5081">OpenDDS::DCPS::SimpleTcpReceiveStrategy</a>, and <a class="el" href="a00701.html#8a0aef690f11006bf4a7f772e9f4a24a">OpenDDS::DCPS::SimpleUnreliableDgramReceiveStrategy</a>.
</div>
</div><p>
<a class="anchor" name="c4a11aba0f50388ffdb8b831bc723c9c"></a><!-- doxytag: member="OpenDDS::DCPS::TransportReceiveStrategy::stop" ref="c4a11aba0f50388ffdb8b831bc723c9c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ACE_INLINE void OpenDDS::DCPS::TransportReceiveStrategy::stop </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
</div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -