📄 a00720.html
字号:
<div class="memdoc">
<p>
Put the request to the request queue. Returns 0 if successful, -1 otherwise (it has been "rejected" or this task is shutdown).
</div>
</div><p>
<a class="anchor" name="f5a1175d724676ac65fcc22ef600e8d4"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::close" ref="f5a1175d724676ac65fcc22ef600e8d4" args="(u_long flag=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::ThreadPerConnectionSendTask::close </td>
<td>(</td>
<td class="paramtype">u_long </td>
<td class="paramname"> <em>flag</em> = <code>0</code> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Called when the thread exits.
<p>
</div>
</div><p>
<a class="anchor" name="148e399ec2102afbd2250fa15963744a"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::execute" ref="148e399ec2102afbd2250fa15963744a" args="(SendRequest &req)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void OpenDDS::DCPS::ThreadPerConnectionSendTask::execute </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00671.html">SendRequest</a> & </td>
<td class="paramname"> <em>req</em> </td>
<td> ) </td>
<td width="100%"><code> [private, virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Handle the request.
<p>
</div>
</div><p>
<a class="anchor" name="c1f38e5dfeba9b212851ecd7157ee443"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::open" ref="c1f38e5dfeba9b212851ecd7157ee443" args="(void *=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::ThreadPerConnectionSendTask::open </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"> = <code>0</code> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Activate the worker threads.
<p>
</div>
</div><p>
<a class="anchor" name="c41f2b80ff5b8c1891cd3417f8fafb98"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::remove_sample" ref="c41f2b80ff5b8c1891cd3417f8fafb98" args="(const DataSampleListElement *sample)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::ThreadPerConnectionSendTask::remove_sample </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="a00506.html">DataSampleListElement</a> * </td>
<td class="paramname"> <em>sample</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Remove sample from the thread per connection queue.
<p>
</div>
</div><p>
<a class="anchor" name="0cfff64241dfcae11c1dc336b0587d15"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::svc" ref="0cfff64241dfcae11c1dc336b0587d15" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int OpenDDS::DCPS::ThreadPerConnectionSendTask::svc </td>
<td>(</td>
<td class="paramname"> </td>
<td> ) </td>
<td width="100%"><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The "mainline" executed by the worker thread.
<p>
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="c679461640898cbfb15fdad3384b6677"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::link_" ref="c679461640898cbfb15fdad3384b6677" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00493.html">DataLink</a>* <a class="el" href="a00720.html#c679461640898cbfb15fdad3384b6677">OpenDDS::DCPS::ThreadPerConnectionSendTask::link_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The datalink to send the samples or control messages.
<p>
</div>
</div><p>
<a class="anchor" name="4fbe39b94c0672dd3d42e979068afe8b"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::lock_" ref="4fbe39b94c0672dd3d42e979068afe8b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00720.html#467e640e3ce850af7db7a329406e0fea">LockType</a> <a class="el" href="a00720.html#4fbe39b94c0672dd3d42e979068afe8b">OpenDDS::DCPS::ThreadPerConnectionSendTask::lock_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Lock to protect the "state" (all of the data members) of this object.
<p>
</div>
</div><p>
<a class="anchor" name="f0f08e4500b41b2fc817d3004217f8ab"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::opened_" ref="f0f08e4500b41b2fc817d3004217f8ab" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00720.html#f0f08e4500b41b2fc817d3004217f8ab">OpenDDS::DCPS::ThreadPerConnectionSendTask::opened_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Flag used to avoid multiple <a class="el" href="a00720.html#c1f38e5dfeba9b212851ecd7157ee443">open()</a> calls.
<p>
</div>
</div><p>
<a class="anchor" name="fd40ac46488f996684a5a734d240d9bf"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::queue_" ref="fd40ac46488f996684a5a734d240d9bf" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00473.html">QueueType</a> <a class="el" href="a00720.html#fd40ac46488f996684a5a734d240d9bf">OpenDDS::DCPS::ThreadPerConnectionSendTask::queue_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The request queue.
<p>
</div>
</div><p>
<a class="anchor" name="aa996904140f1117838fd825d95ff813"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::shutdown_initiated_" ref="aa996904140f1117838fd825d95ff813" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="a00720.html#aa996904140f1117838fd825d95ff813">OpenDDS::DCPS::ThreadPerConnectionSendTask::shutdown_initiated_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Flag used to initiate a shutdown request to all worker threads.
<p>
</div>
</div><p>
<a class="anchor" name="30b5ac50fbf53ae3cefdcecac2ce30f1"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::thr_id_" ref="30b5ac50fbf53ae3cefdcecac2ce30f1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ACE_thread_t <a class="el" href="a00720.html#30b5ac50fbf53ae3cefdcecac2ce30f1">OpenDDS::DCPS::ThreadPerConnectionSendTask::thr_id_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The id of the thread created by this task.
<p>
</div>
</div><p>
<a class="anchor" name="70c9599c45409abeba1c2dfa12c416ac"></a><!-- doxytag: member="OpenDDS::DCPS::ThreadPerConnectionSendTask::work_available_" ref="70c9599c45409abeba1c2dfa12c416ac" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00720.html#9cd13942ea87ec432cb0c93917be0a58">ConditionType</a> <a class="el" href="a00720.html#70c9599c45409abeba1c2dfa12c416ac">OpenDDS::DCPS::ThreadPerConnectionSendTask::work_available_</a><code> [private]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Condition used to signal the worker threads that they may be able to find a request in the queue_ that needs to be executed. This condition will be signal()'ed each time a request is added to the queue_, and also when this task is shutdown.
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="a01168.html">ThreadPerConnectionSendTask.h</a><li><a class="el" href="a01167.html">ThreadPerConnectionSendTask.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Nov 7 09:37:43 2008 for OpenDDS by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -