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

+2
View File
@@ -11,6 +11,8 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Object}{core\+::\+Object}} }{\pageref{classcore_1_1Object}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SessionFilter}{core\+::\+Session\+Filter}} }{\pageref{classcore_1_1SessionFilter}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Socket}{core\+::\+Socket}} }{\pageref{classcore_1_1Socket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Subscription}{core\+::\+Subscription}} }{\pageref{classcore_1_1Subscription}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SubscriptionManager}{core\+::\+Subscription\+Manager}} }{\pageref{classcore_1_1SubscriptionManager}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPServer}{core\+::\+T\+C\+P\+Server}} }{\pageref{classcore_1_1TCPServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSession}{core\+::\+T\+C\+P\+Session}} }{\pageref{classcore_1_1TCPSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSocket}{core\+::\+T\+C\+P\+Socket}} }{\pageref{classcore_1_1TCPSocket}}{}
+1 -39
View File
@@ -16,16 +16,9 @@ Inheritance diagram for core\+::Command\+:\nopagebreak
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
virtual bool \mbox{\hyperlink{classcore_1_1Command_a3bec2a324e71b72f1525a28b2bb028fe}{check}} (coreutils\+::\+Z\+String \&request)
\item
virtual int \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{process\+Command}} (coreutils\+::\+Z\+String \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
virtual void \mbox{\hyperlink{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}{output}} (std\+::stringstream \&out)
\item
void \mbox{\hyperlink{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}{set\+Name}} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1Command_aa63cf88493b2a1b775b5b93b07e79324}\label{classcore_1_1Command_aa63cf88493b2a1b775b5b93b07e79324}}
std\+::string {\bfseries get\+Name} ()
\end{DoxyCompactItemize}
@@ -35,24 +28,6 @@ std\+::string {\bfseries get\+Name} ()
Use the \mbox{\hyperlink{classcore_1_1Command}{Command}} object in combination with a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} object to maintain a list of functions that can be invoked as a result of processing a request.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Command_a3bec2a324e71b72f1525a28b2bb028fe}\label{classcore_1_1Command_a3bec2a324e71b72f1525a28b2bb028fe}}
\index{core::Command@{core::Command}!check@{check}}
\index{check@{check}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{check()}{check()}}
{\footnotesize\ttfamily bool core\+::\+Command\+::check (\begin{DoxyParamCaption}\item[{coreutils\+::\+Z\+String \&}]{request }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Implement check method to provide a special check rule upon the request to see if the command should be processed.
The default rule is to verify that the first token in the request string matches the name given on the registration of the command to the \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}}. This can be overridden by implementing the \mbox{\hyperlink{classcore_1_1Command_a3bec2a324e71b72f1525a28b2bb028fe}{check()}} method to perform the test and return the condition of the command.
\begin{DoxyParams}{Parameters}
{\em request} & The request passed to the parser to check the rule. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return true to execute the command. Returning false will cause no action on this command.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}\label{classcore_1_1Command_ab6352ce5650e70a5c76c3d6e4eefd292}}
\index{core::Command@{core::Command}!output@{output}}
\index{output@{output}!core::Command@{core::Command}}
@@ -90,21 +65,8 @@ Returns 0 if execution of the command was successful. Otherwise returns a non-\/
\end{DoxyReturn}
Reimplemented in \mbox{\hyperlink{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}{core\+::\+T\+C\+P\+Server}}, \mbox{\hyperlink{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}{core\+::\+E\+Poll}}, and \mbox{\hyperlink{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}{core\+::\+Command\+List}}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TCPServer_a6b7a7e1ac4132942fcaf418ed41c1437}{core\+::\+T\+C\+P\+Server}}, \mbox{\hyperlink{classcore_1_1EPoll_a22b5f1545aff3162040844be043abcce}{core\+::\+E\+Poll}}, \mbox{\hyperlink{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}{core\+::\+Subscription\+Manager}}, and \mbox{\hyperlink{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}{core\+::\+Command\+List}}.
\mbox{\Hypertarget{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}\label{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}}
\index{core::Command@{core::Command}!setName@{setName}}
\index{setName@{setName}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{setName()}{setName()}}
{\footnotesize\ttfamily void core\+::\+Command\+::set\+Name (\begin{DoxyParamCaption}\item[{std\+::string}]{name }\end{DoxyParamCaption})}
Set the name of this command used in default rule checking during request parsing. N\+O\+TE\+: You do not need to call this under normal conditions as adding a \mbox{\hyperlink{classcore_1_1Command}{Command}} to a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} using the add() method contains a parameter to pass the name of the \mbox{\hyperlink{classcore_1_1Command}{Command}}.
\begin{DoxyParams}{Parameters}
{\em name} & Specify the name of this command for default parsing. \\
\hline
\end{DoxyParams}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+9 -6
View File
@@ -25,8 +25,8 @@ Collaboration diagram for core\+::Command\+List\+:\nopagebreak
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_a5e7b306d08d02a0d03ad541e3479d845}\label{classcore_1_1CommandList_a5e7b306d08d02a0d03ad541e3479d845}}
{\bfseries Command\+List} (std\+::string delimiter=\char`\"{}\char`\"{})
\mbox{\Hypertarget{classcore_1_1CommandList_a04609187f7b55e881fc31ac3b51a18c4}\label{classcore_1_1CommandList_a04609187f7b55e881fc31ac3b51a18c4}}
{\bfseries Command\+List} (std\+::string delimiter=\char`\"{}\char`\"{}, int depth=0)
\item
void \mbox{\hyperlink{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}{add}} (\mbox{\hyperlink{classcore_1_1Command}{Command}} \&command, std\+::string name=\char`\"{}\char`\"{})
\item
@@ -44,10 +44,13 @@ int \mbox{\hyperlink{classcore_1_1CommandList_a1819e1cb377b5d8e5e00b4777e2b4aba}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}{commands}}
std\+::map$<$ std\+::string, \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}{commands}}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_adfc9ae3f4473a3cd35d5d1ebb5d1b2eb}\label{classcore_1_1CommandList_adfc9ae3f4473a3cd35d5d1ebb5d1b2eb}}
std\+::string {\bfseries delimiter}
\item
\mbox{\Hypertarget{classcore_1_1CommandList_aa72e019cef882e68b917d87ad06cade8}\label{classcore_1_1CommandList_aa72e019cef882e68b917d87ad06cade8}}
int {\bfseries depth}
\end{DoxyCompactItemize}
@@ -97,7 +100,7 @@ Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee
\doxysubsubsection{\texorpdfstring{processRequest()}{processRequest()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::process\+Request (\begin{DoxyParamCaption}\item[{coreutils\+::\+Z\+String \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&}]{session }\end{DoxyParamCaption})}
Use this method to apply a parsed Z\+String to the command set and execute the matching parameter. The selected command will return a true on a call to \mbox{\hyperlink{classcore_1_1Command_a3bec2a324e71b72f1525a28b2bb028fe}{check()}}. If there is a handler that has a grab on the process handler then control is given to the process handler holding the grab on the input. \mbox{\Hypertarget{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}}
Use this method to apply a parsed Z\+String to the command set and execute the matching parameter. The selected command will return a true on a call to check(). If there is a handler that has a grab on the process handler then control is given to the process handler holding the grab on the input. \mbox{\Hypertarget{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}\label{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}}
\index{core::CommandList@{core::CommandList}!remove@{remove}}
\index{remove@{remove}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{remove()}{remove()}}
@@ -106,11 +109,11 @@ Use this method to apply a parsed Z\+String to the command set and execute the m
Remove a command object from the command list.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}\label{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}}
\mbox{\Hypertarget{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}\label{classcore_1_1CommandList_ad0aedf95828fe743908d8423f171ff36}}
\index{core::CommandList@{core::CommandList}!commands@{commands}}
\index{commands@{commands}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$$>$ core\+::\+Command\+List\+::commands\hspace{0.3cm}{\ttfamily [protected]}}
{\footnotesize\ttfamily std\+::map$<$std\+::string, \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$$>$ core\+::\+Command\+List\+::commands\hspace{0.3cm}{\ttfamily [protected]}}
The vector of all registered commands.
@@ -1 +1 @@
38ac49863a90b12efd31d3d12c147e7d
3526df9d00552d3dc2c0c203a1be8aaa
Binary file not shown.
@@ -1 +1 @@
261b3912acde00a442c24349594bedd3
71124607dbe320f41db9015995c9dd1e
Binary file not shown.
@@ -1 +1 @@
656a75ca6d8b724bd1b273b066ac880e
095ce2fe54c4cbec491c802d229e681e
Binary file not shown.
+2 -2
View File
@@ -27,7 +27,7 @@ Collaboration diagram for core\+::Socket\+:\nopagebreak
\item
\mbox{\hyperlink{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}{Socket}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, std\+::string text=\char`\"{}\char`\"{})
\item
\mbox{\hyperlink{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}{$\sim$\+Socket}} ()
virtual \mbox{\hyperlink{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}{$\sim$\+Socket}} ()
\item
void \mbox{\hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown}} (std\+::string text=\char`\"{}unknown\char`\"{})
\item
@@ -126,7 +126,7 @@ Constructor
\index{core::Socket@{core::Socket}!````~Socket@{$\sim$Socket}}
\index{````~Socket@{$\sim$Socket}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{$\sim$Socket()}{~Socket()}}
{\footnotesize\ttfamily core\+::\+Socket\+::$\sim$\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
{\footnotesize\ttfamily core\+::\+Socket\+::$\sim$\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Destructor
+53
View File
@@ -0,0 +1,53 @@
\hypertarget{classcore_1_1Subscription}{}\doxysection{core\+::Subscription Class Reference}
\label{classcore_1_1Subscription}\index{core::Subscription@{core::Subscription}}
Collaboration diagram for core\+::Subscription\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Subscription__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a60c235914199243eba7fa019f265fb76}\label{classcore_1_1Subscription_a60c235914199243eba7fa019f265fb76}}
{\bfseries Subscription} (std\+::string id)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a4b93a096e55fc586ad9c6966b02f3b0f}\label{classcore_1_1Subscription_a4b93a096e55fc586ad9c6966b02f3b0f}}
{\bfseries Subscription} (std\+::string id, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a57c23d7c49328eecf8358f84b485f7cb}\label{classcore_1_1Subscription_a57c23d7c49328eecf8358f84b485f7cb}}
int {\bfseries subscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a4b6d9f10c605f20c7e27c308577ab8d4}\label{classcore_1_1Subscription_a4b6d9f10c605f20c7e27c308577ab8d4}}
int {\bfseries unsubscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a6065524e207dde927d553c581269e937}\label{classcore_1_1Subscription_a6065524e207dde927d553c581269e937}}
virtual int {\bfseries process} (coreutils\+::\+Z\+String \&request, std\+::stringstream \&out)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a886b136b6eae0adcfac1384fc2fae67f}\label{classcore_1_1Subscription_a886b136b6eae0adcfac1384fc2fae67f}}
virtual int {\bfseries on\+Subscribe} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
\mbox{\Hypertarget{classcore_1_1Subscription_adfd211503f5eccfda620995de58c73f9}\label{classcore_1_1Subscription_adfd211503f5eccfda620995de58c73f9}}
int {\bfseries event} (std\+::stringstream \&out)
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a6a952ecf3d9d4a2c69c6b09c3c5c6cb2}\label{classcore_1_1Subscription_a6a952ecf3d9d4a2c69c6b09c3c5c6cb2}}
std\+::string {\bfseries id}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_a5526427600aa4a5b180f76f201e85f58}\label{classcore_1_1Subscription_a5526427600aa4a5b180f76f201e85f58}}
\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ {\bfseries owner}
\item
\mbox{\Hypertarget{classcore_1_1Subscription_ad1a5c1a3e5a6e253eb34795f43d4f9be}\label{classcore_1_1Subscription_ad1a5c1a3e5a6e253eb34795f43d4f9be}}
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ $>$ {\bfseries subscribers}
\end{DoxyCompactItemize}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Subscription.\+h\item
Subscription.\+cpp\end{DoxyCompactItemize}
@@ -0,0 +1,62 @@
\hypertarget{classcore_1_1SubscriptionManager}{}\doxysection{core\+::Subscription\+Manager Class Reference}
\label{classcore_1_1SubscriptionManager}\index{core::SubscriptionManager@{core::SubscriptionManager}}
Inheritance diagram for core\+::Subscription\+Manager\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=226pt]{classcore_1_1SubscriptionManager__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::Subscription\+Manager\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=226pt]{classcore_1_1SubscriptionManager__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_ad1a021be5d55d1e9f0944c97f79ae9e2}\label{classcore_1_1SubscriptionManager_ad1a021be5d55d1e9f0944c97f79ae9e2}}
int {\bfseries add} (\mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} \&subscription)
\item
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_aed407c183c390f4459bb6527b30c8198}\label{classcore_1_1SubscriptionManager_aed407c183c390f4459bb6527b30c8198}}
int {\bfseries remove\+Session\+Subscriptions} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\item
int \mbox{\hyperlink{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}{process\+Command}} (coreutils\+::\+Z\+String \&request, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session) override
\end{DoxyCompactItemize}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}\label{classcore_1_1SubscriptionManager_aaa30bf772ad72b3f319a790662e4f8ae}}
\index{core::SubscriptionManager@{core::SubscriptionManager}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::SubscriptionManager@{core::SubscriptionManager}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Subscription\+Manager\+::process\+Command (\begin{DoxyParamCaption}\item[{coreutils\+::\+Z\+String \&}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
This method is used to implement the functionality of the requested command. This pure virtual function must be implemented in your inheriting object.
\begin{DoxyParams}{Parameters}
{\em request} & The request that was entered by the user to invoke this command. \\
\hline
{\em session} & Specify the requesting session so that the execution of the command process can return its output to the session. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns 0 if execution of the command was successful. Otherwise returns a non-\/zero value indicating an error condition.
\end{DoxyReturn}
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a95176f2532c38ee14e3fee40ee28b1bd}{core\+::\+Command}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Subscription\+Manager.\+h\item
Subscription\+Manager.\+cpp\end{DoxyCompactItemize}
@@ -0,0 +1 @@
64505415bff46906df08a028a1ac62cb
@@ -0,0 +1 @@
64505415bff46906df08a028a1ac62cb
@@ -0,0 +1 @@
66e736a90742b1dc209cc7069b9e8c91
Binary file not shown.
@@ -0,0 +1 @@
71754a92b8eb564627eaab7051245720
Binary file not shown.
+14 -6
View File
@@ -25,9 +25,9 @@ Collaboration diagram for core\+::T\+C\+P\+Server\+:\nopagebreak
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classcore_1_1TCPServer_aef07f6f0f9e9f9c9db5f5cadb70b86d9}{T\+C\+P\+Server}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} address, std\+::string delimiter=\char`\"{} \char`\"{}, std\+::string text=\char`\"{}\char`\"{})
\mbox{\hyperlink{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}{T\+C\+P\+Server}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} address, std\+::string delimiter=\char`\"{} \char`\"{}, int depth=10, std\+::string text=\char`\"{}\char`\"{})
\item
\mbox{\hyperlink{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}{$\sim$\+T\+C\+P\+Server}} ()
virtual \mbox{\hyperlink{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}{$\sim$\+T\+C\+P\+Server}} ()
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a554ec6e67d368e7bb545d95635c0a0df}\label{classcore_1_1TCPServer_a554ec6e67d368e7bb545d95635c0a0df}}
virtual void {\bfseries session\+Error\+Handler} (std\+::string error\+String, std\+::stringstream \&out)
@@ -57,6 +57,8 @@ std\+::vector$<$ \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\
\mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}{black\+List}}
\item
\mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}{white\+List}}
\item
\mbox{\hyperlink{classcore_1_1SubscriptionManager}{Subscription\+Manager}} \mbox{\hyperlink{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}{subscriptions}}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
@@ -78,11 +80,11 @@ A list of connections is maintained in a vector object.
This object extends the B\+M\+A\+Command object as well so it can be added to a Console object and process commands to display status information.
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_aef07f6f0f9e9f9c9db5f5cadb70b86d9}\label{classcore_1_1TCPServer_aef07f6f0f9e9f9c9db5f5cadb70b86d9}}
\mbox{\Hypertarget{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}\label{classcore_1_1TCPServer_abaecb97c336b757d1029d45277f9fc5b}}
\index{core::TCPServer@{core::TCPServer}!TCPServer@{TCPServer}}
\index{TCPServer@{TCPServer}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{TCPServer()}{TCPServer()}}
{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+::\+T\+C\+P\+Server (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{e\+Poll, }\item[{\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}}}]{address, }\item[{std\+::string}]{delimiter = {\ttfamily \char`\"{}~\char`\"{}}, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+::\+T\+C\+P\+Server (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{e\+Poll, }\item[{\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}}}]{address, }\item[{std\+::string}]{delimiter = {\ttfamily \char`\"{}~\char`\"{}}, }\item[{int}]{depth = {\ttfamily 10}, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
The constructor for the \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} object.
@@ -101,7 +103,7 @@ The constructor for the \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server
\index{core::TCPServer@{core::TCPServer}!````~TCPServer@{$\sim$TCPServer}}
\index{````~TCPServer@{$\sim$TCPServer}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{$\sim$TCPServer()}{~TCPServer()}}
{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+::$\sim$\+T\+C\+P\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+::$\sim$\+T\+C\+P\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The destructor for this object.
@@ -185,7 +187,13 @@ The commands object is a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+Lis
\doxysubsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$$>$ core\+::\+T\+C\+P\+Server\+::sessions}
The list of sessions that are currently open and being maintained by this object. \mbox{\Hypertarget{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}\label{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}}
The list of sessions that are currently open and being maintained by this object. \mbox{\Hypertarget{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}\label{classcore_1_1TCPServer_a28302dd844cfc971ee41de2000d24aa0}}
\index{core::TCPServer@{core::TCPServer}!subscriptions@{subscriptions}}
\index{subscriptions@{subscriptions}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{subscriptions}{subscriptions}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1SubscriptionManager}{Subscription\+Manager}} core\+::\+T\+C\+P\+Server\+::subscriptions}
The \mbox{\hyperlink{classcore_1_1Subscription}{Subscription}} Manager tracks all subscriptions on the server. \mbox{\Hypertarget{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}\label{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}}
\index{core::TCPServer@{core::TCPServer}!whiteList@{whiteList}}
\index{whiteList@{whiteList}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{whiteList}{whiteList}}
@@ -1 +1 @@
d83280ccc4433fc6386ad879a66ac13c
69b71d93a92fa95269e4cf915e547067
Binary file not shown.
@@ -1 +1 @@
2a2d85aa1ac1b45e730afbdf75982884
f3d3860698dff70bd5955f0fbd35ea6d
Binary file not shown.
@@ -1 +1 @@
56d7304dcefbcc3a212a2bd19c4f222f
e96a05dd0a826020326f33fbd922b00e
Binary file not shown.
@@ -1 +1 @@
bb7b72ab545059e6869b8149ca11d20e
cc9f449868650fe7138b6b9b091dc80a
Binary file not shown.
@@ -1 +1 @@
ddcf4edd95011751dbbfe508acb046f9
44e3860ca5ea088dcdbc253a2d4546a7
Binary file not shown.
+2
View File
@@ -4,6 +4,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b
\begin{DoxyCompactList}
\item \contentsline{section}{core\+::Command\+List}{\pageref{classcore_1_1CommandList}}{}
\item \contentsline{section}{core\+::E\+Poll}{\pageref{classcore_1_1EPoll}}{}
\item \contentsline{section}{core\+::Subscription\+Manager}{\pageref{classcore_1_1SubscriptionManager}}{}
\item \contentsline{section}{core\+::T\+C\+P\+Server}{\pageref{classcore_1_1TCPServer}}{}
\begin{DoxyCompactList}
\item \contentsline{section}{core\+::Console\+Server}{\pageref{classcore_1_1ConsoleServer}}{}
@@ -42,4 +43,5 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b
\item \contentsline{section}{core\+::U\+D\+P\+Server\+Socket}{\pageref{classcore_1_1UDPServerSocket}}{}
\end{DoxyCompactList}
\end{DoxyCompactList}
\item \contentsline{section}{core\+::Subscription}{\pageref{classcore_1_1Subscription}}{}
\end{DoxyCompactList}
+2
View File
@@ -187,6 +187,8 @@
\input{classcore_1_1Object}
\input{classcore_1_1SessionFilter}
\input{classcore_1_1Socket}
\input{classcore_1_1Subscription}
\input{classcore_1_1SubscriptionManager}
\input{classcore_1_1TCPServer}
\input{classcore_1_1TCPSession}
\input{classcore_1_1TCPSocket}