⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a00705.html

📁 opendds 1.2 最新版 面向分布式实时网络编程
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!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::SimpleUnreliableDgramTransport 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="a00705.html">SimpleUnreliableDgramTransport</a></div>
<h1>OpenDDS::DCPS::SimpleUnreliableDgramTransport Class Reference</h1><!-- doxytag: class="OpenDDS::DCPS::SimpleUnreliableDgramTransport" --><!-- doxytag: inherits="OpenDDS::DCPS::TransportImpl" --><code>#include &lt;SimpleUnreliableDgramTransport.h&gt;</code>
<p>
Inheritance diagram for OpenDDS::DCPS::SimpleUnreliableDgramTransport:<p><center><img src="a03047.png" border="0" usemap="#a03048" alt="Inheritance graph"></center>
<map name="a03048">
<area href="a00681.html" shape="rect" coords="6,231,288,255" alt="">
<area href="a00698.html" shape="rect" coords="312,231,582,255" alt="">
<area href="a00746.html" shape="rect" coords="183,81,410,105" alt="">
<area href="a00640.html" shape="rect" coords="118,7,475,31" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for OpenDDS::DCPS::SimpleUnreliableDgramTransport:<p><center><img src="a03049.png" border="0" usemap="#a03050" alt="Collaboration graph"></center>
<map name="a03050">
<area href="a00746.html" shape="rect" coords="252,127,479,151" alt="">
<area href="a00639.html" shape="rect" coords="67,7,304,31" alt="">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="a00173.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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#fba9685a9c9ab3b80beff6bae05244e8">SimpleUnreliableDgramTransport</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#08d39b966ddd7fbfe43b8fc09dc2399b">~SimpleUnreliableDgramTransport</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Hash_Map_Manager_Ex&lt;<br>
 ACE_INET_Addr, <a class="el" href="a00639.html">SimpleUnreliableDgramDataLink_rch</a>,<br>
 ACE_Hash&lt; ACE_INET_Addr &gt;,<br>
 ACE_Equal_To&lt; ACE_INET_Addr &gt;,<br>
 ACE_Null_Mutex &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#6605ce63acac1cf627874956f8efadcd">AddrLinkMap</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Map Type: (key) ACE_INET_Addr to (value) SimpleMcastDataLink_rch.  <a href="#6605ce63acac1cf627874956f8efadcd"></a><br></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="a00705.html#6004e37b0530603d24854999aed89222">LockType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Guard&lt; <a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">LockType</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#a7069ab83a3f319c90d27431334c3322">GuardType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ACE_Condition&lt; <a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">LockType</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#ed02511323eecd696c6c0262af3900df">ConditionType</a></td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="a00493.html">DataLink</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#868595a4d6f1c3aec0d53261b78230de">find_or_create_datalink</a> (const <a class="el" href="a00749.html">TransportInterfaceInfo</a> &amp;remote_info, int connect_as_publisher)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#1ade88440aa4df557d5236f93d4cb7cf">configure_i</a> (<a class="el" href="a00741.html">TransportConfiguration</a> *config)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#20990f47fb2788a906987c6e66d33c69">configure_socket</a> (<a class="el" href="a00741.html">TransportConfiguration</a> *config)=0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#223d906327191659ff1ea1977792b797">shutdown_i</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#97c4e5880624416864534bf2b8a6a3b6">connection_info_i</a> (<a class="el" href="a00749.html">TransportInterfaceInfo</a> &amp;local_info) const =0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#1917973c56bf23ef92588ab265c15776">acked</a> (<a class="el" href="a00552.html">RepoId</a>, <a class="el" href="a00552.html">RepoId</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="a00705.html#685ecb399fef89d8f98ff945acf0bfba">remove_ack</a> (<a class="el" href="a00552.html">RepoId</a> pub_id, <a class="el" href="a00552.html">RepoId</a> sub_id)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#a0a79f3045961d10273b8c4724d16e30">notify_lost_on_backpressure_timeout</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="a00705.html#bf92e1ebf1ba72385842f140414d0b69">release_datalink_i</a> (<a class="el" href="a00493.html">DataLink</a> *link)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called by the <a class="el" href="a00493.html">DataLink</a> to release itself.  <a href="#bf92e1ebf1ba72385842f140414d0b69"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#4a4fb5f9a27748fc765c9e209128ff4b">deliver_sample</a> (<a class="el" href="a00647.html">ReceivedDataSample</a> &amp;sample, const ACE_INET_Addr &amp;remote_address)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00705.html#6605ce63acac1cf627874956f8efadcd">AddrLinkMap</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#e88faf2218a184ac3d2731e4992afa2b">links_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the map of connected DataLinks.  <a href="#e88faf2218a184ac3d2731e4992afa2b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">LockType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#b6ea1d38892948dbb1f55159d75bf427">links_lock_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This lock is used to protect the links_ data member.  <a href="#b6ea1d38892948dbb1f55159d75bf427"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">TransportReactorTask_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#132df6b4680da96c1c3419a1e5916d8b">reactor_task_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We need the reactor to tell our socket to handle_input().  <a href="#132df6b4680da96c1c3419a1e5916d8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">TransportReceiveStrategy_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#010310b8423e31bbbe3816f8e8fdaad8">receive_strategy_</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="a00754.html">TransportReceiveStrategy</a> object for this <a class="el" href="a00746.html">TransportImpl</a>.  <a href="#010310b8423e31bbbe3816f8e8fdaad8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">SimpleUnreliableDgramSocket_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#9c164d4b3b1dd5320c3e9c8486a41487">socket_</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00639.html">SimpleUnreliableDgramConfiguration_rch</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#1eb8e03c623acb357988ca2960e42c03">config_</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="a00705.html#758520ae91f9c3d2ede263a771678ad1">SimpleUnreliableDgramSynchResource</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00705.html#3bd50efc236c6bee2213caadcdfdd2d1">SimpleUnreliableDgramReceiveStrategy</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Our friend needs to call our <a class="el" href="a00705.html#4a4fb5f9a27748fc765c9e209128ff4b">deliver_sample()</a> method.  <a href="#3bd50efc236c6bee2213caadcdfdd2d1"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class provides specific implementation for unreliable transports - UDP and unreliable multicast.<p>
Notes about object ownership: 1) Own datalink objects and socket object. 2) Reference to <a class="el" href="a00752.html">TransportReactorTask</a> object, configuration object and <a class="el" href="a00754.html">TransportReceiveStrategy</a> object. 
<p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="6605ce63acac1cf627874956f8efadcd"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::AddrLinkMap" ref="6605ce63acac1cf627874956f8efadcd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_Hash_Map_Manager_Ex&lt;ACE_INET_Addr, <a class="el" href="a00639.html">SimpleUnreliableDgramDataLink_rch</a>, ACE_Hash&lt;ACE_INET_Addr&gt;, ACE_Equal_To&lt;ACE_INET_Addr&gt;, ACE_Null_Mutex&gt; <a class="el" href="a00705.html#6605ce63acac1cf627874956f8efadcd">OpenDDS::DCPS::SimpleUnreliableDgramTransport::AddrLinkMap</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Map Type: (key) ACE_INET_Addr to (value) SimpleMcastDataLink_rch. 
<p>

</div>
</div><p>
<a class="anchor" name="ed02511323eecd696c6c0262af3900df"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::ConditionType" ref="ed02511323eecd696c6c0262af3900df" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_Condition&lt;<a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">LockType</a>&gt; <a class="el" href="a00705.html#ed02511323eecd696c6c0262af3900df">OpenDDS::DCPS::SimpleUnreliableDgramTransport::ConditionType</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="a7069ab83a3f319c90d27431334c3322"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::GuardType" ref="a7069ab83a3f319c90d27431334c3322" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_Guard&lt;<a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">LockType</a>&gt; <a class="el" href="a00705.html#a7069ab83a3f319c90d27431334c3322">OpenDDS::DCPS::SimpleUnreliableDgramTransport::GuardType</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Reimplemented from <a class="el" href="a00746.html#baac0d297519eced67fc7f42b0e85961">OpenDDS::DCPS::TransportImpl</a>.
</div>
</div><p>
<a class="anchor" name="6004e37b0530603d24854999aed89222"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::LockType" ref="6004e37b0530603d24854999aed89222" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef ACE_SYNCH_MUTEX <a class="el" href="a00705.html#6004e37b0530603d24854999aed89222">OpenDDS::DCPS::SimpleUnreliableDgramTransport::LockType</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Reimplemented from <a class="el" href="a00746.html#331a2a67ba6614275cc62d2b70f9ab95">OpenDDS::DCPS::TransportImpl</a>.
</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="fba9685a9c9ab3b80beff6bae05244e8"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::SimpleUnreliableDgramTransport" ref="fba9685a9c9ab3b80beff6bae05244e8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ACE_INLINE OpenDDS::DCPS::SimpleUnreliableDgramTransport::SimpleUnreliableDgramTransport           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="08d39b966ddd7fbfe43b8fc09dc2399b"></a><!-- doxytag: member="OpenDDS::DCPS::SimpleUnreliableDgramTransport::~SimpleUnreliableDgramTransport" ref="08d39b966ddd7fbfe43b8fc09dc2399b" args="()" -->
<div class="memitem">

⌨️ 快捷键说明

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