Subscriptions termination fixes.

This commit is contained in:
Brad Arant committed 2022-02-14 07:12:19 -08:00
1 parent 6cf321ceb4
commit aa85bde66f
176 files changed
+1692 -938

No files matched your search

+47 -23
View File
@@ -94,23 +94,24 @@ Collaboration diagram for core::TCPServer:</div>
<div class="dyncontent">
<div class="center"><img src="classcore_1_1TCPServer__coll__graph.png" border="0" usemap="#core_1_1TCPServer_coll__map" alt="Collaboration graph"/></div>
<map name="core_1_1TCPServer_coll__map" id="core_1_1TCPServer_coll__map">
<area shape="rect" title=" " alt="" coords="244,376,369,403"/>
<area shape="rect" href="classcore_1_1TCPSocket.html" title=" " alt="" coords="167,272,294,299"/>
<area shape="rect" href="classcore_1_1Socket.html" title=" " alt="" coords="189,183,291,209"/>
<area shape="rect" href="classcore_1_1EPoll.html" title=" " alt="" coords="173,81,264,108"/>
<area shape="rect" href="classcore_1_1Command.html" title=" " alt="" coords="156,5,281,32"/>
<area shape="rect" href="classcore_1_1CommandList.html" title=" " alt="" coords="261,132,409,159"/>
<area shape="rect" href="classcore_1_1IPAddress.html" title=" " alt="" coords="43,183,165,209"/>
<area shape="rect" href="classcore_1_1Object.html" title=" " alt="" coords="49,81,149,108"/>
<area shape="rect" href="classcore_1_1IPAddressList.html" title=" " alt="" coords="370,272,515,299"/>
<area shape="rect" title=" " alt="" coords="1099,93,1224,120"/>
<area shape="rect" href="classcore_1_1TCPSocket.html" title=" " alt="" coords="851,93,977,120"/>
<area shape="rect" href="classcore_1_1Socket.html" title=" " alt="" coords="487,93,588,120"/>
<area shape="rect" href="classcore_1_1EPoll.html" title=" " alt="" coords="185,93,275,120"/>
<area shape="rect" href="classcore_1_1Command.html" title=" " alt="" coords="5,60,131,87"/>
<area shape="rect" href="classcore_1_1CommandList.html" title=" " alt="" coords="304,43,452,69"/>
<area shape="rect" href="classcore_1_1SubscriptionManager.html" title=" " alt="" coords="623,188,817,215"/>
<area shape="rect" href="classcore_1_1IPAddress.html" title=" " alt="" coords="476,144,599,171"/>
<area shape="rect" href="classcore_1_1Object.html" title=" " alt="" coords="180,144,280,171"/>
<area shape="rect" href="classcore_1_1IPAddressList.html" title=" " alt="" coords="841,207,987,233"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aef07f6f0f9e9f9c9db5f5cadb70b86d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#aef07f6f0f9e9f9c9db5f5cadb70b86d9">TCPServer</a> (<a class="el" href="classcore_1_1EPoll.html">EPoll</a> &amp;ePoll, <a class="el" href="classcore_1_1IPAddress.html">IPAddress</a> address, std::string delimiter=&quot; &quot;, std::string text=&quot;&quot;)</td></tr>
<tr class="separator:aef07f6f0f9e9f9c9db5f5cadb70b86d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ccdc057c9eee8504fce796301f82088"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#a7ccdc057c9eee8504fce796301f82088">~TCPServer</a> ()</td></tr>
<tr class="memitem:abaecb97c336b757d1029d45277f9fc5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#abaecb97c336b757d1029d45277f9fc5b">TCPServer</a> (<a class="el" href="classcore_1_1EPoll.html">EPoll</a> &amp;ePoll, <a class="el" href="classcore_1_1IPAddress.html">IPAddress</a> address, std::string delimiter=&quot; &quot;, int depth=10, std::string text=&quot;&quot;)</td></tr>
<tr class="separator:abaecb97c336b757d1029d45277f9fc5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ccdc057c9eee8504fce796301f82088"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#a7ccdc057c9eee8504fce796301f82088">~TCPServer</a> ()</td></tr>
<tr class="separator:a7ccdc057c9eee8504fce796301f82088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a554ec6e67d368e7bb545d95635c0a0df"><td class="memItemLeft" align="right" valign="top"><a id="a554ec6e67d368e7bb545d95635c0a0df"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>sessionErrorHandler</b> (std::string errorString, std::stringstream &amp;out)</td></tr>
@@ -144,7 +145,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>connect</b> (<a class
<tr class="inherit_header pub_methods_classcore_1_1Socket"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcore_1_1Socket')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcore_1_1Socket.html">core::Socket</a></td></tr>
<tr class="memitem:a4c3f87fd1de3c9eab4bf5efbb30ce87d inherit pub_methods_classcore_1_1Socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Socket.html#a4c3f87fd1de3c9eab4bf5efbb30ce87d">Socket</a> (<a class="el" href="classcore_1_1EPoll.html">EPoll</a> &amp;ePoll, std::string text=&quot;&quot;)</td></tr>
<tr class="separator:a4c3f87fd1de3c9eab4bf5efbb30ce87d inherit pub_methods_classcore_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5003845f8ae464ad2fa206176381be0 inherit pub_methods_classcore_1_1Socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Socket.html#aa5003845f8ae464ad2fa206176381be0">~Socket</a> ()</td></tr>
<tr class="memitem:aa5003845f8ae464ad2fa206176381be0 inherit pub_methods_classcore_1_1Socket"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Socket.html#aa5003845f8ae464ad2fa206176381be0">~Socket</a> ()</td></tr>
<tr class="separator:aa5003845f8ae464ad2fa206176381be0 inherit pub_methods_classcore_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2d1b6de7a64a9d446b0305b6ec47b31 inherit pub_methods_classcore_1_1Socket"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Socket.html#af2d1b6de7a64a9d446b0305b6ec47b31">shutdown</a> (std::string text=&quot;unknown&quot;)</td></tr>
<tr class="separator:af2d1b6de7a64a9d446b0305b6ec47b31 inherit pub_methods_classcore_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -183,14 +184,6 @@ virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>onUnregister<
<tr class="memitem:a43247bfe43c2be5ab3863d9057d46b7c inherit pub_methods_classcore_1_1Socket"><td class="memItemLeft" align="right" valign="top"><a id="a43247bfe43c2be5ab3863d9057d46b7c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>needsToWrite</b> ()</td></tr>
<tr class="separator:a43247bfe43c2be5ab3863d9057d46b7c inherit pub_methods_classcore_1_1Socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classcore_1_1Command"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcore_1_1Command')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classcore_1_1Command.html">core::Command</a></td></tr>
<tr class="memitem:a3bec2a324e71b72f1525a28b2bb028fe inherit pub_methods_classcore_1_1Command"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Command.html#a3bec2a324e71b72f1525a28b2bb028fe">check</a> (coreutils::ZString &amp;request)</td></tr>
<tr class="separator:a3bec2a324e71b72f1525a28b2bb028fe inherit pub_methods_classcore_1_1Command"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8b0321c64838f4d5c8f93461b97cfef inherit pub_methods_classcore_1_1Command"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1Command.html#ad8b0321c64838f4d5c8f93461b97cfef">setName</a> (std::string name)</td></tr>
<tr class="separator:ad8b0321c64838f4d5c8f93461b97cfef inherit pub_methods_classcore_1_1Command"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa63cf88493b2a1b775b5b93b07e79324 inherit pub_methods_classcore_1_1Command"><td class="memItemLeft" align="right" valign="top"><a id="aa63cf88493b2a1b775b5b93b07e79324"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getName</b> ()</td></tr>
<tr class="separator:aa63cf88493b2a1b775b5b93b07e79324 inherit pub_methods_classcore_1_1Command"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
@@ -202,6 +195,8 @@ Public Attributes</h2></td></tr>
<tr class="separator:a82f6bf16e4ab20d8b30da09e034fffff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abad6300b6234ca8b69cef9128755342e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcore_1_1IPAddressList.html">IPAddressList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#abad6300b6234ca8b69cef9128755342e">whiteList</a></td></tr>
<tr class="separator:abad6300b6234ca8b69cef9128755342e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28302dd844cfc971ee41de2000d24aa0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classcore_1_1SubscriptionManager.html">SubscriptionManager</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcore_1_1TCPServer.html#a28302dd844cfc971ee41de2000d24aa0">subscriptions</a></td></tr>
<tr class="separator:a28302dd844cfc971ee41de2000d24aa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classcore_1_1TCPSocket"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classcore_1_1TCPSocket')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classcore_1_1TCPSocket.html">core::TCPSocket</a></td></tr>
<tr class="memitem:abe7d0a740dc0c19c058661270a6fb630 inherit pub_attribs_classcore_1_1TCPSocket"><td class="memItemLeft" align="right" valign="top"><a id="abe7d0a740dc0c19c058661270a6fb630"></a>
<a class="el" href="classcore_1_1IPAddress.html">IPAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ipAddress</b></td></tr>
@@ -246,8 +241,8 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutDown</b> = false<
<p>A list of connections is maintained in a vector object.</p>
<p>This object extends the BMACommand object as well so it can be added to a Console object and process commands to display status information. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aef07f6f0f9e9f9c9db5f5cadb70b86d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef07f6f0f9e9f9c9db5f5cadb70b86d9">&#9670;&nbsp;</a></span>TCPServer()</h2>
<a id="abaecb97c336b757d1029d45277f9fc5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abaecb97c336b757d1029d45277f9fc5b">&#9670;&nbsp;</a></span>TCPServer()</h2>
<div class="memitem">
<div class="memproto">
@@ -270,6 +265,12 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutDown</b> = false<
<td class="paramtype">std::string&#160;</td>
<td class="paramname"><em>delimiter</em> = <code>&quot;&#160;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>depth</em> = <code>10</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
@@ -301,6 +302,9 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutDown</b> = false<
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">core::TCPServer::~TCPServer </td>
@@ -309,6 +313,11 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutDown</b> = false<
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The destructor for this object. </p>
@@ -533,6 +542,21 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>shutDown</b> = false<
</div><div class="memdoc">
<p>The list of sessions that are currently open and being maintained by this object. </p>
</div>
</div>
<a id="a28302dd844cfc971ee41de2000d24aa0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28302dd844cfc971ee41de2000d24aa0">&#9670;&nbsp;</a></span>subscriptions</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classcore_1_1SubscriptionManager.html">SubscriptionManager</a> core::TCPServer::subscriptions</td>
</tr>
</table>
</div><div class="memdoc">
<p>The <a class="el" href="classcore_1_1Subscription.html">Subscription</a> Manager tracks all subscriptions on the server. </p>
</div>
</div>
<a id="abad6300b6234ca8b69cef9128755342e"></a>