New build.

This commit is contained in:
barant committed 2020-04-13 09:40:58 -07:00
1 parent a5a51f8aae
commit b4ab5fb86a
835 files changed
+26499 -3119

No files matched your search

+6 -4
View File
@@ -1,20 +1,22 @@
LATEX_CMD=pdflatex
all: refman.pdf
pdf: refman.pdf
refman.pdf: clean refman.tex
pdflatex refman
$(LATEX_CMD) refman
makeindex refman.idx
pdflatex refman
$(LATEX_CMD) refman
latex_count=8 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
pdflatex refman ;\
$(LATEX_CMD) refman ;\
latex_count=`expr $$latex_count - 1` ;\
done
makeindex refman.idx
pdflatex refman
$(LATEX_CMD) refman
clean:
+22 -22
View File
@@ -1,24 +1,24 @@
\section{Class List}
\doxysection{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{classcore_1_1Command}{core\+::\+Command} }{\pageref{classcore_1_1Command}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1CommandList}{core\+::\+Command\+List} }{\pageref{classcore_1_1CommandList}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1ConsoleServer}{core\+::\+Console\+Server} }{\pageref{classcore_1_1ConsoleServer}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1ConsoleSession}{core\+::\+Console\+Session} }{\pageref{classcore_1_1ConsoleSession}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1EPoll}{core\+::\+E\+Poll} }{\pageref{classcore_1_1EPoll}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1INotify}{core\+::\+I\+Notify} }{\pageref{classcore_1_1INotify}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1IPAddress}{core\+::\+I\+P\+Address} }{\pageref{classcore_1_1IPAddress}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1IPAddressList}{core\+::\+I\+P\+Address\+List} }{\pageref{classcore_1_1IPAddressList}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1Object}{core\+::\+Object} }{\pageref{classcore_1_1Object}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1SessionFilter}{core\+::\+Session\+Filter} }{\pageref{classcore_1_1SessionFilter}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1Socket}{core\+::\+Socket} }{\pageref{classcore_1_1Socket}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TCPServer}{core\+::\+T\+C\+P\+Server} }{\pageref{classcore_1_1TCPServer}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TCPSession}{core\+::\+T\+C\+P\+Session} }{\pageref{classcore_1_1TCPSession}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TCPSocket}{core\+::\+T\+C\+P\+Socket} }{\pageref{classcore_1_1TCPSocket}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TerminalSession}{core\+::\+Terminal\+Session} }{\pageref{classcore_1_1TerminalSession}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1Thread}{core\+::\+Thread} }{\pageref{classcore_1_1Thread}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1Timer}{core\+::\+Timer} }{\pageref{classcore_1_1Timer}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TLSServer}{core\+::\+T\+L\+S\+Server} }{\pageref{classcore_1_1TLSServer}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1TLSSession}{core\+::\+T\+L\+S\+Session} }{\pageref{classcore_1_1TLSSession}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1UDPServerSocket}{core\+::\+U\+D\+P\+Server\+Socket} }{\pageref{classcore_1_1UDPServerSocket}}{}
\item\contentsline{section}{\hyperlink{classcore_1_1UDPSocket}{core\+::\+U\+D\+P\+Socket} }{\pageref{classcore_1_1UDPSocket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Command}{core\+::\+Command}} }{\pageref{classcore_1_1Command}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1CommandList}{core\+::\+Command\+List}} }{\pageref{classcore_1_1CommandList}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1ConsoleServer}{core\+::\+Console\+Server}} }{\pageref{classcore_1_1ConsoleServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1ConsoleSession}{core\+::\+Console\+Session}} }{\pageref{classcore_1_1ConsoleSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1EPoll}{core\+::\+E\+Poll}} }{\pageref{classcore_1_1EPoll}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1INotify}{core\+::\+I\+Notify}} }{\pageref{classcore_1_1INotify}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1IPAddress}{core\+::\+I\+P\+Address}} }{\pageref{classcore_1_1IPAddress}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1IPAddressList}{core\+::\+I\+P\+Address\+List}} }{\pageref{classcore_1_1IPAddressList}}{}
\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_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}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TerminalSession}{core\+::\+Terminal\+Session}} }{\pageref{classcore_1_1TerminalSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Thread}{core\+::\+Thread}} }{\pageref{classcore_1_1Thread}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1Timer}{core\+::\+Timer}} }{\pageref{classcore_1_1Timer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TLSServer}{core\+::\+T\+L\+S\+Server}} }{\pageref{classcore_1_1TLSServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TLSSession}{core\+::\+T\+L\+S\+Session}} }{\pageref{classcore_1_1TLSSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1UDPServerSocket}{core\+::\+U\+D\+P\+Server\+Socket}} }{\pageref{classcore_1_1UDPServerSocket}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1UDPSocket}{core\+::\+U\+D\+P\+Socket}} }{\pageref{classcore_1_1UDPSocket}}{}
\end{DoxyCompactList}
+30 -30
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1Command}{}\section{core\+:\+:Command Class Reference}
\label{classcore_1_1Command}\index{core\+::\+Command@{core\+::\+Command}}
\hypertarget{classcore_1_1Command}{}\doxysection{core\+::Command Class Reference}
\label{classcore_1_1Command}\index{core::Command@{core::Command}}
{\ttfamily \#include $<$Command.\+h$>$}
Inheritance diagram for core\+:\+:Command\+:\nopagebreak
Inheritance diagram for core\+::Command\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,45 +15,45 @@ Inheritance diagram for core\+:\+:Command\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Command\+:\nopagebreak
Collaboration diagram for core\+::Command\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=166pt]{classcore_1_1Command__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
virtual bool \hyperlink{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}{check} (std\+::string request)
virtual bool \mbox{\hyperlink{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}{check}} (std\+::string request)
\item
virtual int \hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, std\+::stringstream \&data)
virtual int \mbox{\hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{process\+Command}} (std\+::string request, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, std\+::stringstream \&data)
\item
virtual void \hyperlink{classcore_1_1Command_a314aef05f78aacb802097f8ae0875291}{output} (Session $\ast$session)
virtual void \mbox{\hyperlink{classcore_1_1Command_a314aef05f78aacb802097f8ae0875291}{output}} (Session $\ast$session)
\item
void \hyperlink{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}{set\+Name} (std\+::string name)
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}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1Command}{Command}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Command}{Command}}
Use the \hyperlink{classcore_1_1Command}{Command} object in combination with a \hyperlink{classcore_1_1CommandList}{Command\+List} object to maintain a list of functions that can be invoked as a result of processing a request.
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.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}\label{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}}
\index{core\+::\+Command@{core\+::\+Command}!check@{check}}
\index{check@{check}!core\+::\+Command@{core\+::\+Command}}
\subsubsection{\texorpdfstring{check()}{check()}}
\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[{std\+::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 \hyperlink{classcore_1_1CommandList}{Command\+List}. This can be overridden by implementing the \hyperlink{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}{check()} method to perform the test and return the condition of the command.
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_abdc0d7a4693a7f7940bbae20c4a667c0}{check()}} method to perform the test and return the condition of the command.
\begin{DoxyParams}{Parameters}
@@ -64,9 +64,9 @@ The default rule is to verify that the first token in the request string matches
Return true to execute the command. Returning false will cause no action on this command.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1Command_a314aef05f78aacb802097f8ae0875291}\label{classcore_1_1Command_a314aef05f78aacb802097f8ae0875291}}
\index{core\+::\+Command@{core\+::\+Command}!output@{output}}
\index{output@{output}!core\+::\+Command@{core\+::\+Command}}
\subsubsection{\texorpdfstring{output()}{output()}}
\index{core::Command@{core::Command}!output@{output}}
\index{output@{output}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+Command\+::output (\begin{DoxyParamCaption}\item[{Session $\ast$}]{session }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Specify the output that will occur to the specified session.
@@ -77,10 +77,10 @@ Specify the output that will occur to the specified session.
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}\label{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}}
\index{core\+::\+Command@{core\+::\+Command}!process\+Command@{process\+Command}}
\index{process\+Command@{process\+Command}!core\+::\+Command@{core\+::\+Command}}
\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
\index{core::Command@{core::Command}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::Command@{core::Command}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\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.
@@ -96,15 +96,15 @@ Returns 0 if execution of the command was successful. Otherwise returns a non-\/
\end{DoxyReturn}
Reimplemented in \hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{core\+::\+E\+Poll}, \hyperlink{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}{core\+::\+T\+C\+P\+Server}, and \hyperlink{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}{core\+::\+Command\+List}.
Reimplemented in \mbox{\hyperlink{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}{core\+::\+Command\+List}}, \mbox{\hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{core\+::\+E\+Poll}}, and \mbox{\hyperlink{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}{core\+::\+T\+C\+P\+Server}}.
\mbox{\Hypertarget{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}\label{classcore_1_1Command_ad8b0321c64838f4d5c8f93461b97cfef}}
\index{core\+::\+Command@{core\+::\+Command}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!core\+::\+Command@{core\+::\+Command}}
\subsubsection{\texorpdfstring{set\+Name()}{setName()}}
\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 \hyperlink{classcore_1_1Command}{Command} to a \hyperlink{classcore_1_1CommandList}{Command\+List} using the add() method contains a parameter to pass the name of the \hyperlink{classcore_1_1Command}{Command}.
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}
+46 -46
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1CommandList}{}\section{core\+:\+:Command\+List Class Reference}
\label{classcore_1_1CommandList}\index{core\+::\+Command\+List@{core\+::\+Command\+List}}
\hypertarget{classcore_1_1CommandList}{}\doxysection{core\+::Command\+List Class Reference}
\label{classcore_1_1CommandList}\index{core::CommandList@{core::CommandList}}
{\ttfamily \#include $<$Command\+List.\+h$>$}
Inheritance diagram for core\+:\+:Command\+List\+:\nopagebreak
Inheritance diagram for core\+::Command\+List\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,60 +15,60 @@ Inheritance diagram for core\+:\+:Command\+List\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Command\+List\+:\nopagebreak
Collaboration diagram for core\+::Command\+List\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=182pt]{classcore_1_1CommandList__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}{add} (\hyperlink{classcore_1_1Command}{Command} \&command, std\+::string name=\char`\"{}\char`\"{})
void \mbox{\hyperlink{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}{add}} (\mbox{\hyperlink{classcore_1_1Command}{Command}} \&command, std\+::string name=\char`\"{}\char`\"{})
\item
void \hyperlink{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}{remove} (\hyperlink{classcore_1_1Command}{Command} \&command)
void \mbox{\hyperlink{classcore_1_1CommandList_aaac684effb9ecf5238d23ca60d3fffaa}{remove}} (\mbox{\hyperlink{classcore_1_1Command}{Command}} \&command)
\item
bool \hyperlink{classcore_1_1CommandList_a589f3eba55beebad94a5978970e0650d}{process\+Request} (std\+::string request, \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, std\+::stringstream \&data)
bool \mbox{\hyperlink{classcore_1_1CommandList_a589f3eba55beebad94a5978970e0650d}{process\+Request}} (std\+::string request, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, std\+::stringstream \&data)
\item
bool \hyperlink{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}{grab\+Input} (\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, \hyperlink{classcore_1_1Command}{Command} \&command)
bool \mbox{\hyperlink{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}{grab\+Input}} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, \mbox{\hyperlink{classcore_1_1Command}{Command}} \&command)
\item
\mbox{\Hypertarget{classcore_1_1CommandList_a2bf14022331b23e0878aa9d676a90110}\label{classcore_1_1CommandList_a2bf14022331b23e0878aa9d676a90110}}
void {\bfseries clear\+Grab} (\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session)
void {\bfseries clear\+Grab} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session)
\item
int \hyperlink{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}{process\+Command} (std\+::string request, \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, std\+::stringstream \&data)
int \mbox{\hyperlink{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}{process\+Command}} (std\+::string request, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, std\+::stringstream \&data)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
std\+::vector$<$ \hyperlink{classcore_1_1Command}{Command} $\ast$ $>$ \hyperlink{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}{commands}
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}{commands}}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1CommandList}{Command\+List}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}}
This object organizes \hyperlink{classcore_1_1Command}{Command} objects into a list that is used to parse an input and run the process associated with the selected command.
This object organizes \mbox{\hyperlink{classcore_1_1Command}{Command}} objects into a list that is used to parse an input and run the process associated with the selected command.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}\label{classcore_1_1CommandList_a7a45e75e3d21a25fd3f7e887acf395e9}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!add@{add}}
\index{add@{add}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{add()}{add()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::add (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1Command}{Command} \&}]{command, }\item[{std\+::string}]{name = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
\index{core::CommandList@{core::CommandList}!add@{add}}
\index{add@{add}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{add()}{add()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Command}{Command}} \&}]{command, }\item[{std\+::string}]{name = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
Add a new command to the command list and assign a default search value. \mbox{\Hypertarget{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}\label{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!grab\+Input@{grab\+Input}}
\index{grab\+Input@{grab\+Input}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{grab\+Input()}{grabInput()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::grab\+Input (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{\hyperlink{classcore_1_1Command}{Command} \&}]{command }\end{DoxyParamCaption})}
\index{core::CommandList@{core::CommandList}!grabInput@{grabInput}}
\index{grabInput@{grabInput}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{grabInput()}{grabInput()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::grab\+Input (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{\mbox{\hyperlink{classcore_1_1Command}{Command}} \&}]{command }\end{DoxyParamCaption})}
Use \hyperlink{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}{grab\+Input()} within a \hyperlink{classcore_1_1Command}{Command} object to force the requesting handler to receive all further input from the socket. Use release\+Grab() method to release the session back to normal command processing. \mbox{\Hypertarget{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}\label{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!process\+Command@{process\+Command}}
\index{process\+Command@{process\+Command}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Use \mbox{\hyperlink{classcore_1_1CommandList_a40211d843807cd65f6614c17efcb00e4}{grab\+Input()}} within a \mbox{\hyperlink{classcore_1_1Command}{Command}} object to force the requesting handler to receive all further input from the socket. Use release\+Grab() method to release the session back to normal command processing. \mbox{\Hypertarget{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}\label{classcore_1_1CommandList_a98939555ca061b445019a841726e3ef6}}
\index{core::CommandList@{core::CommandList}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+Command\+List\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\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.
@@ -84,28 +84,28 @@ Returns 0 if execution of the command was successful. Otherwise returns a non-\/
\end{DoxyReturn}
Reimplemented from \hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}}.
\mbox{\Hypertarget{classcore_1_1CommandList_a589f3eba55beebad94a5978970e0650d}\label{classcore_1_1CommandList_a589f3eba55beebad94a5978970e0650d}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!process\+Request@{process\+Request}}
\index{process\+Request@{process\+Request}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{process\+Request()}{processRequest()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::process\+Request (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})}
\index{core::CommandList@{core::CommandList}!processRequest@{processRequest}}
\index{processRequest@{processRequest}!core::CommandList@{core::CommandList}}
\doxysubsubsection{\texorpdfstring{processRequest()}{processRequest()}}
{\footnotesize\ttfamily bool core\+::\+Command\+List\+::process\+Request (\begin{DoxyParamCaption}\item[{std\+::string}]{request, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})}
Use this method to apply a parsed P\+String to the command set and execute the matching parameter. The selected command will return a true on a call to \hyperlink{classcore_1_1Command_abdc0d7a4693a7f7940bbae20c4a667c0}{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\+::\+Command\+List@{core\+::\+Command\+List}!remove@{remove}}
\index{remove@{remove}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{remove()}{remove()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::remove (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1Command}{Command} \&}]{command }\end{DoxyParamCaption})}
Use this method to apply a parsed P\+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_abdc0d7a4693a7f7940bbae20c4a667c0}{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()}}
{\footnotesize\ttfamily void core\+::\+Command\+List\+::remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Command}{Command}} \&}]{command }\end{DoxyParamCaption})}
Remove a command object from the command list.
\subsection{Member Data Documentation}
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}\label{classcore_1_1CommandList_a435f09d15c78dad43e7bca4977d6bdf1}}
\index{core\+::\+Command\+List@{core\+::\+Command\+List}!commands@{commands}}
\index{commands@{commands}!core\+::\+Command\+List@{core\+::\+Command\+List}}
\subsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily std\+::vector$<$\hyperlink{classcore_1_1Command}{Command} $\ast$$>$ core\+::\+Command\+List\+::commands\hspace{0.3cm}{\ttfamily [protected]}}
\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]}}
The vector of all registered commands.
@@ -1 +1 @@
977741e576cfa23d9835eba613dc9454
95346e4570bcf3dd3c88ed5e9d7073cd
Binary file not shown.
@@ -1 +1 @@
8033489fbc6a953504cccf753e70042c
95346e4570bcf3dd3c88ed5e9d7073cd
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
3c61d7c9b691d4cfaa8cbddf0a4aaabb
a6101fc959b5d2ef84a8a6db1830dc39
Binary file not shown.
@@ -1 +1 @@
759b27840d7898cf7173e20c8b976862
2abf51e9c484a58dcf854d92c5055b65
Binary file not shown.
+14 -14
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1ConsoleServer}{}\section{core\+:\+:Console\+Server Class Reference}
\label{classcore_1_1ConsoleServer}\index{core\+::\+Console\+Server@{core\+::\+Console\+Server}}
\hypertarget{classcore_1_1ConsoleServer}{}\doxysection{core\+::Console\+Server Class Reference}
\label{classcore_1_1ConsoleServer}\index{core::ConsoleServer@{core::ConsoleServer}}
Inheritance diagram for core\+:\+:Console\+Server\+:\nopagebreak
Inheritance diagram for core\+::Console\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,37 +11,37 @@ Inheritance diagram for core\+:\+:Console\+Server\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Console\+Server\+:\nopagebreak
Collaboration diagram for core\+::Console\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1ConsoleServer__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1ConsoleServer_a938c93207ced5bfa3e15e9f4a1cbf3f0}\label{classcore_1_1ConsoleServer_a938c93207ced5bfa3e15e9f4a1cbf3f0}}
{\bfseries Console\+Server} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1IPAddress}{I\+P\+Address} address)
{\bfseries Console\+Server} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} address)
\item
\mbox{\Hypertarget{classcore_1_1ConsoleServer_ace482706881fd6cbec4e01534c091391}\label{classcore_1_1ConsoleServer_ace482706881fd6cbec4e01534c091391}}
void {\bfseries log\+Send} (std\+::string out) override
\item
\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ \hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{get\+Socket\+Accept} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll) override
\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ \mbox{\hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{get\+Socket\+Accept}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll) override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}\label{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}}
\index{core\+::\+Console\+Server@{core\+::\+Console\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+Console\+Server@{core\+::\+Console\+Server}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ core\+::\+Console\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1EPoll}{E\+Poll} \&}]{epoll }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
\index{core::ConsoleServer@{core::ConsoleServer}!getSocketAccept@{getSocketAccept}}
\index{getSocketAccept@{getSocketAccept}!core::ConsoleServer@{core::ConsoleServer}}
\doxysubsubsection{\texorpdfstring{getSocketAccept()}{getSocketAccept()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ core\+::\+Console\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{epoll }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from Session provides the mechanism where the server can select the protocol dialog for the desired service.
Reimplemented from \hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{core\+::\+T\+C\+P\+Server}.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{core\+::\+T\+C\+P\+Server}}.
@@ -1 +1 @@
909803afbb09559444b10965e6434bee
23a9f7a7fad5f99c7a211cd84e8f2a11
Binary file not shown.
@@ -1 +1 @@
0a58373135f3b5046e8adefd4cd74907
0cbbd9531a1296f08dbc3e54fad6f694
Binary file not shown.
+19 -19
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1ConsoleSession}{}\section{core\+:\+:Console\+Session Class Reference}
\label{classcore_1_1ConsoleSession}\index{core\+::\+Console\+Session@{core\+::\+Console\+Session}}
\hypertarget{classcore_1_1ConsoleSession}{}\doxysection{core\+::Console\+Session Class Reference}
\label{classcore_1_1ConsoleSession}\index{core::ConsoleSession@{core::ConsoleSession}}
{\ttfamily \#include $<$Console\+Session.\+h$>$}
Inheritance diagram for core\+:\+:Console\+Session\+:\nopagebreak
Inheritance diagram for core\+::Console\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,45 +15,45 @@ Inheritance diagram for core\+:\+:Console\+Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Console\+Session\+:\nopagebreak
Collaboration diagram for core\+::Console\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1ConsoleSession__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1ConsoleSession_ae735e9739fb4cfd2ef983cc56f9982c7}\label{classcore_1_1ConsoleSession_ae735e9739fb4cfd2ef983cc56f9982c7}}
{\bfseries Console\+Session} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \&server)
{\bfseries Console\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} \&server)
\item
\mbox{\Hypertarget{classcore_1_1ConsoleSession_a6e6b56503966f1cae5bdff8b3814e2b9}\label{classcore_1_1ConsoleSession_a6e6b56503966f1cae5bdff8b3814e2b9}}
void {\bfseries write\+Log} (std\+::string data)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}{protocol} (std\+::stringstream \&out, std\+::string data) override
void \mbox{\hyperlink{classcore_1_1ConsoleSession_a830cc1e1e0c3fe3b066f0a9f7f469490}{protocol}} (std\+::string data) override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1ConsoleSession}{Console\+Session}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1ConsoleSession}{Console\+Session}}
Extends the session parameters for this \hyperlink{classcore_1_1TCPSocket}{T\+C\+P\+Socket} derived object. Extend the \hyperlink{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}{protocol()} method in order to define the behavior and protocol interaction for this socket which is a console session.
Extends the session parameters for this \mbox{\hyperlink{classcore_1_1TCPSocket}{T\+C\+P\+Socket}} derived object. Extend the \mbox{\hyperlink{classcore_1_1ConsoleSession_a830cc1e1e0c3fe3b066f0a9f7f469490}{protocol()}} method in order to define the behavior and protocol interaction for this socket which is a console session.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}\label{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}}
\index{core\+::\+Console\+Session@{core\+::\+Console\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+Console\+Session@{core\+::\+Console\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+Console\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out, }\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1ConsoleSession_a830cc1e1e0c3fe3b066f0a9f7f469490}\label{classcore_1_1ConsoleSession_a830cc1e1e0c3fe3b066f0a9f7f469490}}
\index{core::ConsoleSession@{core::ConsoleSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::ConsoleSession@{core::ConsoleSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+Console\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented from \hyperlink{classcore_1_1TLSSession_ad7f219581d1f7700ca1f88551cd01c74}{core\+::\+T\+L\+S\+Session}.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_ae90dc64e2d3c4b3239117923145edb3f}{core\+::\+T\+C\+P\+Session}}.
@@ -1 +1 @@
32d72d9457ee18e97aa07f1e89a36982
e3a5c5da26e73687babd96ad5f9b9573
Binary file not shown.
@@ -1 +1 @@
dc33419911c4a98028aad2bb389710c4
8ecb0228f3cbdcb6fa45a4bcddfe8fcc
+68 -68
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1EPoll}{}\section{core\+:\+:E\+Poll Class Reference}
\label{classcore_1_1EPoll}\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\hypertarget{classcore_1_1EPoll}{}\doxysection{core\+::E\+Poll Class Reference}
\label{classcore_1_1EPoll}\index{core::EPoll@{core::EPoll}}
{\ttfamily \#include $<$E\+Poll.\+h$>$}
Inheritance diagram for core\+:\+:E\+Poll\+:\nopagebreak
Inheritance diagram for core\+::E\+Poll\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,89 +15,89 @@ Inheritance diagram for core\+:\+:E\+Poll\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:E\+Poll\+:\nopagebreak
Collaboration diagram for core\+::E\+Poll\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=166pt]{classcore_1_1EPoll__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}{E\+Poll} ()
\mbox{\hyperlink{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}{E\+Poll}} ()
\item
\hyperlink{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}{$\sim$\+E\+Poll} ()
\mbox{\hyperlink{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}{$\sim$\+E\+Poll}} ()
\item
bool \hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start} (int number\+Of\+Threads, int \hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets})
bool \mbox{\hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start}} (int number\+Of\+Threads, int \mbox{\hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}})
\begin{DoxyCompactList}\small\item\em Start the B\+M\+A\+E\+Poll processing. \end{DoxyCompactList}\item
bool \hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop} ()
bool \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop}} ()
\begin{DoxyCompactList}\small\item\em Stop and shut down the B\+M\+A\+E\+Poll processing. \end{DoxyCompactList}\item
bool \hyperlink{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}{is\+Stopping} ()
bool \mbox{\hyperlink{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}{is\+Stopping}} ()
\begin{DoxyCompactList}\small\item\em Returns a true if the stop command has been requested. \end{DoxyCompactList}\item
bool \hyperlink{classcore_1_1EPoll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}{register\+Socket} (\hyperlink{classcore_1_1Socket}{Socket} $\ast$socket)
bool \mbox{\hyperlink{classcore_1_1EPoll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}{register\+Socket}} (\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $\ast$socket)
\begin{DoxyCompactList}\small\item\em Register a B\+M\+A\+Socket for monitoring by B\+M\+A\+E\+Poll. \end{DoxyCompactList}\item
bool \hyperlink{classcore_1_1EPoll_a5ab5e82ab51e0952fc8fbcc128f52900}{unregister\+Socket} (\hyperlink{classcore_1_1Socket}{Socket} $\ast$socket)
bool \mbox{\hyperlink{classcore_1_1EPoll_a5ab5e82ab51e0952fc8fbcc128f52900}{unregister\+Socket}} (\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $\ast$socket)
\begin{DoxyCompactList}\small\item\em Unregister a B\+M\+A\+Socket from monitoring by B\+M\+A\+E\+Poll. \end{DoxyCompactList}\item
int \hyperlink{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}{get\+Descriptor} ()
int \mbox{\hyperlink{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}{get\+Descriptor}} ()
\begin{DoxyCompactList}\small\item\em Return the descriptor for the e\+Poll socket. \end{DoxyCompactList}\item
void \hyperlink{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}{event\+Received} (struct epoll\+\_\+event event)
void \mbox{\hyperlink{classcore_1_1EPoll_a39b88c943190f724c963b49baaa2cfbb}{event\+Received}} (struct epoll\+\_\+event event, pid\+\_\+t thread\+Id)
\begin{DoxyCompactList}\small\item\em Dispatch event to appropriate socket. \end{DoxyCompactList}\item
int \hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, std\+::stringstream \&data) override
int \mbox{\hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{process\+Command}} (std\+::string command, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, std\+::stringstream \&data) override
\begin{DoxyCompactList}\small\item\em Output the threads array to the console. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1EPoll_a033633714311f3edc4127ddd1c37f299}\label{classcore_1_1EPoll_a033633714311f3edc4127ddd1c37f299}}
void {\bfseries reset\+Socket} (\hyperlink{classcore_1_1Socket}{Socket} $\ast$socket)
void {\bfseries reset\+Socket} (\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $\ast$socket)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
int \hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}
int \mbox{\hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}}
\begin{DoxyCompactList}\small\item\em The maximum number of socket allowed. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Detailed Description}
\hyperlink{classcore_1_1EPoll}{E\+Poll}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}}
Manage socket events from the epoll system call.
Use this object to establish a socket server using the epoll network structure of Linux.
Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. \hyperlink{classcore_1_1Socket}{Socket} objects can register with B\+M\+A\+E\+Poll which will establish a communication mechanism with that socket.
Use this object to establish the basis of working with multiple sockets of all sorts using the epoll capabilities of the Linux platform. \mbox{\hyperlink{classcore_1_1Socket}{Socket}} objects can register with \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} which will establish a communication mechanism with that socket.
The maximum number of sockets to communicate with is specified on the start method.
Threads are used to establish a read queue for epoll. The desired number of threads (or queues) is established by a parameter on the start method.
\subsection{Constructor \& Destructor Documentation}
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}\label{classcore_1_1EPoll_a2fd5cc4336b5f72990ecc0e7ea3d7641}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!E\+Poll@{E\+Poll}}
\index{E\+Poll@{E\+Poll}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{E\+Poll()}{EPoll()}}
\index{core::EPoll@{core::EPoll}!EPoll@{EPoll}}
\index{EPoll@{EPoll}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{EPoll()}{EPoll()}}
{\footnotesize\ttfamily core\+::\+E\+Poll\+::\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The constructor for the B\+M\+A\+E\+Poll object. \mbox{\Hypertarget{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}\label{classcore_1_1EPoll_a8e7a2496d684b745a6410f9bd3e88534}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!````~E\+Poll@{$\sim$\+E\+Poll}}
\index{````~E\+Poll@{$\sim$\+E\+Poll}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{$\sim$\+E\+Poll()}{~EPoll()}}
\index{core::EPoll@{core::EPoll}!````~EPoll@{$\sim$EPoll}}
\index{````~EPoll@{$\sim$EPoll}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{$\sim$EPoll()}{~EPoll()}}
{\footnotesize\ttfamily core\+::\+E\+Poll\+::$\sim$\+E\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The destructor for the B\+M\+A\+E\+Poll object.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}\label{classcore_1_1EPoll_a3238b150b5d0a57eb2e1b17daa236d3b}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!event\+Received@{event\+Received}}
\index{event\+Received@{event\+Received}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}}
{\footnotesize\ttfamily void core\+::\+E\+Poll\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_a39b88c943190f724c963b49baaa2cfbb}\label{classcore_1_1EPoll_a39b88c943190f724c963b49baaa2cfbb}}
\index{core::EPoll@{core::EPoll}!eventReceived@{eventReceived}}
\index{eventReceived@{eventReceived}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{eventReceived()}{eventReceived()}}
{\footnotesize\ttfamily void core\+::\+E\+Poll\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event, }\item[{pid\+\_\+t}]{thread\+Id }\end{DoxyParamCaption})}
Dispatch event to appropriate socket.
Receive the epoll events and dispatch the event to the socket making the request. \mbox{\Hypertarget{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}\label{classcore_1_1EPoll_a1e52017e1deae15c1c87c6b6a099e1ed}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!get\+Descriptor@{get\+Descriptor}}
\index{get\+Descriptor@{get\+Descriptor}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{get\+Descriptor()}{getDescriptor()}}
\index{core::EPoll@{core::EPoll}!getDescriptor@{getDescriptor}}
\index{getDescriptor@{getDescriptor}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{getDescriptor()}{getDescriptor()}}
{\footnotesize\ttfamily int core\+::\+E\+Poll\+::get\+Descriptor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
@@ -105,26 +105,26 @@ Receive the epoll events and dispatch the event to the socket making the request
Return the descriptor for the e\+Poll socket.
Use this method to obtain the current descriptor socket number for the epoll function call. \mbox{\Hypertarget{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}\label{classcore_1_1EPoll_a301b46b71ac7ac61a687ff723fe269b3}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!is\+Stopping@{is\+Stopping}}
\index{is\+Stopping@{is\+Stopping}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{is\+Stopping()}{isStopping()}}
\index{core::EPoll@{core::EPoll}!isStopping@{isStopping}}
\index{isStopping@{isStopping}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{isStopping()}{isStopping()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::is\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Returns a true if the stop command has been requested.
This method returns a true if the \hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()} method has been called and the epoll system is shutting. \mbox{\Hypertarget{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}\label{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!process\+Command@{process\+Command}}
\index{process\+Command@{process\+Command}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+E\+Poll\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
This method returns a true if the \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()}} method has been called and the epoll system is shutting. \mbox{\Hypertarget{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}\label{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}}
\index{core::EPoll@{core::EPoll}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+E\+Poll\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
Output the threads array to the console.
The \hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{process\+Command()} method displays the thread array to the requesting console via the session passed as parameter.
The \mbox{\hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{process\+Command()}} method displays the thread array to the requesting console via the session passed as parameter.
\begin{DoxyParams}{Parameters}
@@ -133,13 +133,13 @@ The \hyperlink{classcore_1_1EPoll_a0c2d7fdaec43d0a15abab0399d5727df}{process\+Co
\end{DoxyParams}
Reimplemented from \hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}}.
\mbox{\Hypertarget{classcore_1_1EPoll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}\label{classcore_1_1EPoll_a3d813c7bbf0da70ebc8e3cb6aeeacfb4}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!register\+Socket@{register\+Socket}}
\index{register\+Socket@{register\+Socket}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{register\+Socket()}{registerSocket()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::register\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1Socket}{Socket} $\ast$}]{socket }\end{DoxyParamCaption})}
\index{core::EPoll@{core::EPoll}!registerSocket@{registerSocket}}
\index{registerSocket@{registerSocket}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{registerSocket()}{registerSocket()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::register\+Socket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $\ast$}]{socket }\end{DoxyParamCaption})}
@@ -156,16 +156,16 @@ Use register\+Socket to add a new socket to the e\+Poll event watch list. This e
a booelean that indicates the socket was registered or not.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}\label{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!start@{start}}
\index{start@{start}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{start()}{start()}}
\index{core::EPoll@{core::EPoll}!start@{start}}
\index{start@{start}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::start (\begin{DoxyParamCaption}\item[{int}]{number\+Of\+Threads, }\item[{int}]{max\+Sockets }\end{DoxyParamCaption})}
Start the B\+M\+A\+E\+Poll processing.
Use the \hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start()} method to initiate the threads and begin epoll queue processing.
Use the \mbox{\hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start()}} method to initiate the threads and begin epoll queue processing.
\begin{DoxyParams}{Parameters}
@@ -175,22 +175,22 @@ Use the \hyperlink{classcore_1_1EPoll_aaefe2caef75eb538af90cb34682d277b}{start()
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}\label{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!stop@{stop}}
\index{stop@{stop}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{stop()}{stop()}}
\index{core::EPoll@{core::EPoll}!stop@{stop}}
\index{stop@{stop}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{stop()}{stop()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::stop (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Stop and shut down the B\+M\+A\+E\+Poll processing.
Use the \hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()} method to initiate the shutdown process for the epoll socket management.
Use the \mbox{\hyperlink{classcore_1_1EPoll_a0c2865acd31d14fbf19dbc42cc084ddc}{stop()}} method to initiate the shutdown process for the epoll socket management.
A complete shutdown of all managed sockets will be initiated by this method call. \mbox{\Hypertarget{classcore_1_1EPoll_a5ab5e82ab51e0952fc8fbcc128f52900}\label{classcore_1_1EPoll_a5ab5e82ab51e0952fc8fbcc128f52900}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!unregister\+Socket@{unregister\+Socket}}
\index{unregister\+Socket@{unregister\+Socket}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{unregister\+Socket()}{unregisterSocket()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::unregister\+Socket (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1Socket}{Socket} $\ast$}]{socket }\end{DoxyParamCaption})}
\index{core::EPoll@{core::EPoll}!unregisterSocket@{unregisterSocket}}
\index{unregisterSocket@{unregisterSocket}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{unregisterSocket()}{unregisterSocket()}}
{\footnotesize\ttfamily bool core\+::\+E\+Poll\+::unregister\+Socket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $\ast$}]{socket }\end{DoxyParamCaption})}
@@ -198,16 +198,16 @@ Unregister a B\+M\+A\+Socket from monitoring by B\+M\+A\+E\+Poll.
Use this method to remove a socket from receiving events from the epoll system.
\begin{DoxyParams}{Parameters}
{\em socket} & The \hyperlink{classcore_1_1Socket}{Socket} to unregister. \\
{\em socket} & The \mbox{\hyperlink{classcore_1_1Socket}{Socket}} to unregister. \\
\hline
\end{DoxyParams}
\subsection{Member Data Documentation}
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}\label{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}}
\index{core\+::\+E\+Poll@{core\+::\+E\+Poll}!max\+Sockets@{max\+Sockets}}
\index{max\+Sockets@{max\+Sockets}!core\+::\+E\+Poll@{core\+::\+E\+Poll}}
\subsubsection{\texorpdfstring{max\+Sockets}{maxSockets}}
\index{core::EPoll@{core::EPoll}!maxSockets@{maxSockets}}
\index{maxSockets@{maxSockets}!core::EPoll@{core::EPoll}}
\doxysubsubsection{\texorpdfstring{maxSockets}{maxSockets}}
{\footnotesize\ttfamily int core\+::\+E\+Poll\+::max\+Sockets}
+1 -1
View File
@@ -1 +1 @@
f5877f09845e536ffe5772487d935836
65b06e5175304b2aa128b1dfbbdb661f
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
a3900974308cf078cb0e8b6816e43c50
65b06e5175304b2aa128b1dfbbdb661f
Binary file not shown.
+6 -6
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1INotify}{}\section{core\+:\+:I\+Notify Class Reference}
\label{classcore_1_1INotify}\index{core\+::\+I\+Notify@{core\+::\+I\+Notify}}
\hypertarget{classcore_1_1INotify}{}\doxysection{core\+::I\+Notify Class Reference}
\label{classcore_1_1INotify}\index{core::INotify@{core::INotify}}
Inheritance diagram for core\+:\+:I\+Notify\+:\nopagebreak
Inheritance diagram for core\+::I\+Notify\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,18 +11,18 @@ Inheritance diagram for core\+:\+:I\+Notify\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:I\+Notify\+:\nopagebreak
Collaboration diagram for core\+::I\+Notify\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classcore_1_1INotify__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}\label{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}}
{\bfseries I\+Notify} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
{\bfseries I\+Notify} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ab498fca3d44a7de75b1a6b1f9e1404e7}\label{classcore_1_1INotify_ab498fca3d44a7de75b1a6b1f9e1404e7}}
int {\bfseries add\+Watch} (std\+::string watch)
+1 -1
View File
@@ -1 +1 @@
1a02d43a02e28582a023cb8b30c62cee
076c1cf18e83963f9600dd9fea0054af
Binary file not shown.
@@ -1 +1 @@
623f2ff85b14007c9f583b1832c9c9c1
807497635409383358ebc5447fd98333
Binary file not shown.
+9 -9
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1IPAddress}{}\section{core\+:\+:I\+P\+Address Class Reference}
\label{classcore_1_1IPAddress}\index{core\+::\+I\+P\+Address@{core\+::\+I\+P\+Address}}
\hypertarget{classcore_1_1IPAddress}{}\doxysection{core\+::I\+P\+Address Class Reference}
\label{classcore_1_1IPAddress}\index{core::IPAddress@{core::IPAddress}}
Inheritance diagram for core\+:\+:I\+P\+Address\+:\nopagebreak
Inheritance diagram for core\+::I\+P\+Address\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,14 +11,14 @@ Inheritance diagram for core\+:\+:I\+P\+Address\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:I\+P\+Address\+:\nopagebreak
Collaboration diagram for core\+::I\+P\+Address\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=167pt]{classcore_1_1IPAddress__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a31fb55b1b979f0e8a07446285f9a99f8}\label{classcore_1_1IPAddress_a31fb55b1b979f0e8a07446285f9a99f8}}
@@ -31,15 +31,15 @@ Collaboration diagram for core\+:\+:I\+P\+Address\+:\nopagebreak
struct sockaddr $\ast$ {\bfseries get\+Pointer} ()
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}\label{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}}
std\+::string \hyperlink{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}{get\+Client\+Address} ()
std\+::string \mbox{\hyperlink{classcore_1_1IPAddress_ae5e7e28589d026bbbc6c3423d418b008}{get\+Client\+Address}} ()
\begin{DoxyCompactList}\small\item\em Get the client network address as xxx.\+xxx.\+xxx.\+xxx. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}\label{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}}
std\+::string \hyperlink{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}{get\+Client\+Address\+And\+Port} ()
std\+::string \mbox{\hyperlink{classcore_1_1IPAddress_abea870f1a048cb7bba1d2bad98558232}{get\+Client\+Address\+And\+Port}} ()
\begin{DoxyCompactList}\small\item\em Get the client network address and port as xxx.\+xxx.\+xxx.\+xxx\+:ppppp. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}\label{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}}
int \hyperlink{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}{get\+Client\+Port} ()
int \mbox{\hyperlink{classcore_1_1IPAddress_a39f706f2d43d7d001296ecead4b587e8}{get\+Client\+Port}} ()
\begin{DoxyCompactList}\small\item\em Get the client network port number. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddress_ac1291bdc515fc5b2c9ba177ddec06454}\label{classcore_1_1IPAddress_ac1291bdc515fc5b2c9ba177ddec06454}}
+7 -7
View File
@@ -1,16 +1,16 @@
\hypertarget{classcore_1_1IPAddressList}{}\section{core\+:\+:I\+P\+Address\+List Class Reference}
\label{classcore_1_1IPAddressList}\index{core\+::\+I\+P\+Address\+List@{core\+::\+I\+P\+Address\+List}}
\subsection*{Public Member Functions}
\hypertarget{classcore_1_1IPAddressList}{}\doxysection{core\+::I\+P\+Address\+List Class Reference}
\label{classcore_1_1IPAddressList}\index{core::IPAddressList@{core::IPAddressList}}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_a740cf5f7e2633836b7a741b9f048036f}\label{classcore_1_1IPAddressList_a740cf5f7e2633836b7a741b9f048036f}}
std\+::map$<$ std\+::string, \hyperlink{classcore_1_1IPAddress}{I\+P\+Address} $>$ {\bfseries get\+List} ()
std\+::map$<$ std\+::string, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} $>$ {\bfseries get\+List} ()
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_a6133d1065d28b5ceac4daf7f379b6a60}\label{classcore_1_1IPAddressList_a6133d1065d28b5ceac4daf7f379b6a60}}
bool {\bfseries add} (\hyperlink{classcore_1_1IPAddress}{I\+P\+Address} ip\+Address)
\mbox{\Hypertarget{classcore_1_1IPAddressList_ab98c5a502d8f5cfb4e8c451c48dbc131}\label{classcore_1_1IPAddressList_ab98c5a502d8f5cfb4e8c451c48dbc131}}
void {\bfseries add} (\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} ip\+Address)
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_a86e9890e15e8e0d87e34f36b637d5c40}\label{classcore_1_1IPAddressList_a86e9890e15e8e0d87e34f36b637d5c40}}
bool {\bfseries remove} (\hyperlink{classcore_1_1IPAddress}{I\+P\+Address} ip\+Address)
bool {\bfseries remove} (\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} ip\+Address)
\item
\mbox{\Hypertarget{classcore_1_1IPAddressList_add254c996687fd8f9ada0b5335e477cd}\label{classcore_1_1IPAddressList_add254c996687fd8f9ada0b5335e477cd}}
bool {\bfseries contains} (std\+::string ip\+Address)
@@ -1 +1 @@
b9eb6d4004c740b202abcf337899951f
7f7ac9b55c8d17116ebd1c299b44c348
Binary file not shown.
@@ -1 +1 @@
daa4211536352190ca0e14f0408106e2
7f7ac9b55c8d17116ebd1c299b44c348
Binary file not shown.
+4 -4
View File
@@ -1,15 +1,15 @@
\hypertarget{classcore_1_1Object}{}\section{core\+:\+:Object Class Reference}
\label{classcore_1_1Object}\index{core\+::\+Object@{core\+::\+Object}}
\hypertarget{classcore_1_1Object}{}\doxysection{core\+::Object Class Reference}
\label{classcore_1_1Object}\index{core::Object@{core::Object}}
Inheritance diagram for core\+:\+:Object\+:\nopagebreak
Inheritance diagram for core\+::Object\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1Object__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Object_aa096b2bab35f1019c91077ef3ec106ce}\label{classcore_1_1Object_aa096b2bab35f1019c91077ef3ec106ce}}
@@ -1 +1 @@
371cb36631c3b5e17bdc2d3e862cf2be
b4f9f6052ab76f7912389463eff07b50
Binary file not shown.
+7 -7
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1SessionFilter}{}\section{core\+:\+:Session\+Filter Class Reference}
\label{classcore_1_1SessionFilter}\index{core\+::\+Session\+Filter@{core\+::\+Session\+Filter}}
\hypertarget{classcore_1_1SessionFilter}{}\doxysection{core\+::Session\+Filter Class Reference}
\label{classcore_1_1SessionFilter}\index{core::SessionFilter@{core::SessionFilter}}
Inheritance diagram for core\+:\+:Session\+Filter\+:\nopagebreak
Inheritance diagram for core\+::Session\+Filter\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,20 +11,20 @@ Inheritance diagram for core\+:\+:Session\+Filter\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Session\+Filter\+:\nopagebreak
Collaboration diagram for core\+::Session\+Filter\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=178pt]{classcore_1_1SessionFilter__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1SessionFilter_a9871d18a9f90c8028f879b0993b25b6f}\label{classcore_1_1SessionFilter_a9871d18a9f90c8028f879b0993b25b6f}}
virtual bool {\bfseries test} (\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} \&session)
virtual bool {\bfseries test} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} \&session)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
@@ -1 +1 @@
1cbd093f64caaae65f129e3d1a6b6337
18bd2019d4b8e217560cd8e7622ec59f
Binary file not shown.
@@ -1 +1 @@
b6889f291c591864286d60934f925a62
18bd2019d4b8e217560cd8e7622ec59f
Binary file not shown.
+97 -74
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1Socket}{}\section{core\+:\+:Socket Class Reference}
\label{classcore_1_1Socket}\index{core\+::\+Socket@{core\+::\+Socket}}
\hypertarget{classcore_1_1Socket}{}\doxysection{core\+::Socket Class Reference}
\label{classcore_1_1Socket}\index{core::Socket@{core::Socket}}
{\ttfamily \#include $<$Socket.\+h$>$}
Inheritance diagram for core\+:\+:Socket\+:\nopagebreak
Inheritance diagram for core\+::Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,32 +15,31 @@ Inheritance diagram for core\+:\+:Socket\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Socket\+:\nopagebreak
Collaboration diagram for core\+::Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classcore_1_1Socket__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a0009f3813f6d64285f3dad602e4e01cf}\label{classcore_1_1Socket_a0009f3813f6d64285f3dad602e4e01cf}}
{\bfseries Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
\mbox{\hyperlink{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}{Socket}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, std\+::string text=\char`\"{}\char`\"{})
\item
\mbox{\Hypertarget{classcore_1_1Socket_a36f8a8fda1d79995228b52c2fa01873b}\label{classcore_1_1Socket_a36f8a8fda1d79995228b52c2fa01873b}}
{\bfseries Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, std\+::string text)
\mbox{\hyperlink{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}{$\sim$\+Socket}} ()
\item
void \hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown} (std\+::string text=\char`\"{}unknown\char`\"{})
void \mbox{\hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown}} (std\+::string text=\char`\"{}unknown\char`\"{})
\item
void \hyperlink{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}{set\+Descriptor} (int descriptor)
void \mbox{\hyperlink{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}{set\+Descriptor}} (int descriptor)
\begin{DoxyCompactList}\small\item\em Set the descriptor for the socket. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}\label{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}}
int \hyperlink{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}{get\+Descriptor} ()
\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. \end{DoxyCompactList}\item
bool \hyperlink{classcore_1_1Socket_a4c9a3396693ff919eb827729f9e72b03}{event\+Received} (struct epoll\+\_\+event event)
int \mbox{\hyperlink{classcore_1_1Socket_a06ba54744530439d4131e6aba4623d08}{get\+Descriptor}} ()
\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. ~\newline
\end{DoxyCompactList}\item
bool \mbox{\hyperlink{classcore_1_1Socket_aeee3b9d24b039679f1f05820209539c5}{event\+Received}} (struct epoll\+\_\+event event, pid\+\_\+t thread\+Id)
\begin{DoxyCompactList}\small\item\em Parse epoll event and call specified callbacks. \end{DoxyCompactList}\item
int \hyperlink{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}{write} (std\+::string data)
int \mbox{\hyperlink{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}{write}} (std\+::string data)
\item
\mbox{\Hypertarget{classcore_1_1Socket_a4855594af113428eacdaa7448d661121}\label{classcore_1_1Socket_a4855594af113428eacdaa7448d661121}}
void {\bfseries write} (char $\ast$buffer, int length)
@@ -48,72 +47,96 @@ void {\bfseries write} (char $\ast$buffer, int length)
\mbox{\Hypertarget{classcore_1_1Socket_ad67b0f95127bd987b98323120f40f6ed}\label{classcore_1_1Socket_ad67b0f95127bd987b98323120f40f6ed}}
void {\bfseries output} (std\+::stringstream \&out)
\item
virtual void \hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register} ()
\begin{DoxyCompactList}\small\item\em Called when the socket has finished registering with the epoll processing. \end{DoxyCompactList}\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register}} ()
\begin{DoxyCompactList}\small\item\em Called before the socket has registered with the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}\label{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}}
virtual void {\bfseries on\+Registered} ()
virtual void \mbox{\hyperlink{classcore_1_1Socket_a23b9824653bbe4652a716acb828665b1}{on\+Registered}} ()
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}\label{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}}
virtual void {\bfseries on\+Unregister} ()
\item
virtual void \hyperlink{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}{on\+Unregister} ()
virtual void \mbox{\hyperlink{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}{on\+Unregistered}} ()
\begin{DoxyCompactList}\small\item\em Called when the socket has finished unregistering for the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_a43247bfe43c2be5ab3863d9057d46b7c}\label{classcore_1_1Socket_a43247bfe43c2be5ab3863d9057d46b7c}}
bool {\bfseries needs\+To\+Write} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a26ce6667b1d883e7a77fcd46ead03f6b}\label{classcore_1_1Socket_a26ce6667b1d883e7a77fcd46ead03f6b}}
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
class \{\\
\} {\bfseries bufferSize}\\
\end{tabbing}\item
\mbox{\Hypertarget{classcore_1_1Socket_addc8b96547fb9cc921f9fb0e398d4882}\label{classcore_1_1Socket_addc8b96547fb9cc921f9fb0e398d4882}}
bool {\bfseries active} = false
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a71c77a162698b9c074a7497beab7b5d8}\label{classcore_1_1Socket_a71c77a162698b9c074a7497beab7b5d8}}
void {\bfseries set\+Buffer\+Size} (int length)
\item
virtual void \hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{on\+Data\+Received} (std\+::string data)
\mbox{\Hypertarget{classcore_1_1Socket_aa9195676bb7ecbec167ecf5336921cbb}\label{classcore_1_1Socket_aa9195676bb7ecbec167ecf5336921cbb}}
int {\bfseries get\+Buffer\+Size} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{on\+Data\+Received}} (std\+::string data)
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1Socket_af6c06db2441633ae9979affe72930abc}\label{classcore_1_1Socket_af6c06db2441633ae9979affe72930abc}}
virtual void {\bfseries on\+Data\+Received} (char $\ast$buffer, int len)
\item
virtual void \hyperlink{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}{receive\+Data} (char $\ast$buffer, int buffer\+Length)
virtual void \mbox{\hyperlink{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}{receive\+Data}} (char $\ast$buffer, int buffer\+Length)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}\label{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}}
\hyperlink{classcore_1_1EPoll}{E\+Poll} \& {\bfseries e\+Poll}
\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \& {\bfseries e\+Poll}
\item
\mbox{\Hypertarget{classcore_1_1Socket_aa09db6c6298d20ea76c6e65f8bffd3dc}\label{classcore_1_1Socket_aa09db6c6298d20ea76c6e65f8bffd3dc}}
bool {\bfseries shut\+Down} = false
\end{DoxyCompactItemize}
\subsection{Detailed Description}
\hyperlink{classcore_1_1Socket}{Socket}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Socket}{Socket}}
The core component to managing a socket.
Hooks into the \hyperlink{classcore_1_1EPoll}{E\+Poll} through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the \hyperlink{classcore_1_1EPoll}{E\+Poll} object and also provides buffering for output data requests to the socket.
Hooks into the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} through the registration and unregistration process and provides a communication socket of the specified protocol type. This object provides for all receiving data threading through use of the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} object and also provides buffering for output data requests to the socket. ~\newline
A program using a socket object can request to open a socket (file or network or whatever) and communicate through the streambuffer interface of the socket object.
The socket side of the \hyperlink{classcore_1_1Socket}{Socket} accepts E\+P\+O\+L\+L\+IN event and will maintain the data in a buffer for the stream readers to read. A on\+Data\+Received event is then sent with the data received in the buffer that can be read through the stream.
A program using a socket object can request to open a socket (network or device) and communicate through the streambuffer interface of the socket object.
The socket side of the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} accepts E\+P\+O\+L\+L\+IN event and will maintain the data in a buffer for the stream readers to read. A on\+Data\+Received event is then sent with the data received in the buffer that can be read through the stream. Only sockets that send events to epoll can be used with this object.
When writing to the stream the data is written into a buffer and a E\+P\+O\+L\+L\+O\+UT is scheduled. Upon receiving the E\+P\+O\+L\+L\+O\+UT event then the buffer is written to the socket output.
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_a4c9a3396693ff919eb827729f9e72b03}\label{classcore_1_1Socket_a4c9a3396693ff919eb827729f9e72b03}}
\index{core\+::\+Socket@{core\+::\+Socket}!event\+Received@{event\+Received}}
\index{event\+Received@{event\+Received}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{event\+Received()}{eventReceived()}}
{\footnotesize\ttfamily bool core\+::\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event }\end{DoxyParamCaption})}
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}\label{classcore_1_1Socket_a4c3f87fd1de3c9eab4bf5efbb30ce87d}}
\index{core::Socket@{core::Socket}!Socket@{Socket}}
\index{Socket@{Socket}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{Socket()}{Socket()}}
{\footnotesize\ttfamily core\+::\+Socket\+::\+Socket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{e\+Poll, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
Constructor
\begin{DoxyParams}{Parameters}
{\em e\+Poll} & The \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} socket descriptor. \\
\hline
{\em text} & A title for this socket. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}\label{classcore_1_1Socket_aa5003845f8ae464ad2fa206176381be0}}
\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})}
Destructor
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_aeee3b9d24b039679f1f05820209539c5}\label{classcore_1_1Socket_aeee3b9d24b039679f1f05820209539c5}}
\index{core::Socket@{core::Socket}!eventReceived@{eventReceived}}
\index{eventReceived@{eventReceived}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{eventReceived()}{eventReceived()}}
{\footnotesize\ttfamily bool core\+::\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event, }\item[{pid\+\_\+t}]{thread\+Id }\end{DoxyParamCaption})}
@@ -122,9 +145,9 @@ Parse epoll event and call specified callbacks.
The event received from epoll is sent through the event\+Received method which will parse the event and call the read and write callbacks on the socket.
This method is called by the B\+M\+A\+E\+Poll object and should not be called from any user extended classes unless an epoll event is being simulated. \mbox{\Hypertarget{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}\label{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}}
\index{core\+::\+Socket@{core\+::\+Socket}!on\+Data\+Received@{on\+Data\+Received}}
\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}}
\index{core::Socket@{core::Socket}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
@@ -140,62 +163,62 @@ The on\+Connected method is called when the socket is ready to communicate. Writ
\end{DoxyParams}
Reimplemented in \hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{core\+::\+T\+C\+P\+Server}, \hyperlink{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}{core\+::\+T\+C\+P\+Session}, and \hyperlink{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}{core\+::\+U\+D\+P\+Server\+Socket}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{core\+::\+T\+C\+P\+Server}}, \mbox{\hyperlink{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}{core\+::\+T\+C\+P\+Session}}, and \mbox{\hyperlink{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}{core\+::\+U\+D\+P\+Server\+Socket}}.
\mbox{\Hypertarget{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}\label{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}}
\index{core\+::\+Socket@{core\+::\+Socket}!on\+Register@{on\+Register}}
\index{on\+Register@{on\+Register}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{on\+Register()}{onRegister()}}
\index{core::Socket@{core::Socket}!onRegister@{onRegister}}
\index{onRegister@{onRegister}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onRegister()}{onRegister()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Register (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Called when the socket has finished registering with the epoll processing.
Called before the socket has registered with the epoll processing.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \hyperlink{classcore_1_1Socket}{Socket} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
Reimplemented in \hyperlink{classcore_1_1TCPSession_a77600a18d75f1efee00b3dc626b1e98b}{core\+::\+T\+C\+P\+Session}, and \hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{core\+::\+T\+L\+S\+Session}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{core\+::\+T\+L\+S\+Session}}.
\mbox{\Hypertarget{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}\label{classcore_1_1Socket_aa1d380db54a5b2efbc859e3744bd898b}}
\index{core\+::\+Socket@{core\+::\+Socket}!on\+Unregister@{on\+Unregister}}
\index{on\+Unregister@{on\+Unregister}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{on\+Unregister()}{onUnregister()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Unregister (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
\mbox{\Hypertarget{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}\label{classcore_1_1Socket_ae9be59697c2b2e5efb19aaae3ba943d2}}
\index{core::Socket@{core::Socket}!onUnregistered@{onUnregistered}}
\index{onUnregistered@{onUnregistered}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{onUnregistered()}{onUnregistered()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::on\+Unregistered (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
Called when the socket has finished unregistering for the epoll processing.
The on\+Unregister method is called whenever the socket is unregistered with e\+Poll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up. \mbox{\Hypertarget{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}\label{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}}
\index{core\+::\+Socket@{core\+::\+Socket}!receive\+Data@{receive\+Data}}
\index{receive\+Data@{receive\+Data}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}}
The on\+Unregistered method is called whenever the socket is unregistered with e\+Poll and socket communcation events will be stopped. The default method will close the socket and clean up the connection. If this is overridden by an extended object then the object should call this method to clean the socket up. \mbox{\Hypertarget{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}\label{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}}
\index{core::Socket@{core::Socket}!receiveData@{receiveData}}
\index{receiveData@{receiveData}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{receiveData()}{receiveData()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL.
Reimplemented in \hyperlink{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}{core\+::\+T\+L\+S\+Session}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}{core\+::\+T\+L\+S\+Session}}.
\mbox{\Hypertarget{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}\label{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}}
\index{core\+::\+Socket@{core\+::\+Socket}!set\+Descriptor@{set\+Descriptor}}
\index{set\+Descriptor@{set\+Descriptor}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{set\+Descriptor()}{setDescriptor()}}
\index{core::Socket@{core::Socket}!setDescriptor@{setDescriptor}}
\index{setDescriptor@{setDescriptor}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{setDescriptor()}{setDescriptor()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::set\+Descriptor (\begin{DoxyParamCaption}\item[{int}]{descriptor }\end{DoxyParamCaption})}
Set the descriptor for the socket.
set\+Descriptor establishes the file descriptor for the socket and registers the socket on the \hyperlink{classcore_1_1EPoll}{E\+Poll} controller. set\+Descriptor will invoke the \hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register()} event. \mbox{\Hypertarget{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}\label{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}}
\index{core\+::\+Socket@{core\+::\+Socket}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{shutdown()}{shutdown()}}
set\+Descriptor establishes the file descriptor for the socket and registers the socket on the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} controller. set\+Descriptor will invoke the \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{on\+Register()}} event. \mbox{\Hypertarget{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}\label{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}}
\index{core::Socket@{core::Socket}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{shutdown()}{shutdown()}}
{\footnotesize\ttfamily void core\+::\+Socket\+::shutdown (\begin{DoxyParamCaption}\item[{std\+::string}]{text = {\ttfamily \char`\"{}unknown\char`\"{}} }\end{DoxyParamCaption})}
Use the \hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown()} method to terminate the socket connection and remove resources. This method is provided to ensure that all destructors are called for all inherited objects without a virtual destructor. \mbox{\Hypertarget{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}\label{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}}
\index{core\+::\+Socket@{core\+::\+Socket}!write@{write}}
\index{write@{write}!core\+::\+Socket@{core\+::\+Socket}}
\subsubsection{\texorpdfstring{write()}{write()}}
Use the \mbox{\hyperlink{classcore_1_1Socket_af2d1b6de7a64a9d446b0305b6ec47b31}{shutdown()}} method to terminate the socket connection and remove resources. This method is provided to ensure that all destructors are called for all inherited objects without a virtual destructor. \mbox{\Hypertarget{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}\label{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}}
\index{core::Socket@{core::Socket}!write@{write}}
\index{write@{write}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{write()}{write()}}
{\footnotesize\ttfamily int core\+::\+Socket\+::write (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})}
Write data to the socket.
+1 -1
View File
@@ -1 +1 @@
e7c65ae8b1c8a9ff924974c8409fa77a
8972ad3d81c6154d568a5e7384a0c2ba
Binary file not shown.
@@ -1 +1 @@
5548f938506d3e66078f75e865ba0024
140b9c232187e83dc49f10083bb844ae
Binary file not shown.
+65 -65
View File
@@ -1,68 +1,68 @@
\hypertarget{classcore_1_1TCPServer}{}\section{core\+:\+:T\+C\+P\+Server Class Reference}
\label{classcore_1_1TCPServer}\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\hypertarget{classcore_1_1TCPServer}{}\doxysection{core\+::T\+C\+P\+Server Class Reference}
\label{classcore_1_1TCPServer}\index{core::TCPServer@{core::TCPServer}}
{\ttfamily \#include $<$T\+C\+P\+Server.\+h$>$}
Inheritance diagram for core\+:\+:T\+C\+P\+Server\+:\nopagebreak
Inheritance diagram for core\+::T\+C\+P\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=276pt]{classcore_1_1TCPServer__inherit__graph}
\includegraphics[width=292pt]{classcore_1_1TCPServer__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:T\+C\+P\+Server\+:\nopagebreak
Collaboration diagram for core\+::T\+C\+P\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TCPServer__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1TCPServer_a418924164fd6e59800272fbd6f069bb9}{T\+C\+P\+Server} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1IPAddress}{I\+P\+Address} address, std\+::string text=\char`\"{}\char`\"{})
\mbox{\hyperlink{classcore_1_1TCPServer_a418924164fd6e59800272fbd6f069bb9}{T\+C\+P\+Server}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} address, std\+::string text=\char`\"{}\char`\"{})
\item
\hyperlink{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}{$\sim$\+T\+C\+P\+Server} ()
\mbox{\hyperlink{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}{$\sim$\+T\+C\+P\+Server}} ()
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a88c603cd5df9dbc1632fd4b5e164d75b}\label{classcore_1_1TCPServer_a88c603cd5df9dbc1632fd4b5e164d75b}}
void {\bfseries remove\+From\+Session\+List} (\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session)
void {\bfseries remove\+From\+Session\+List} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session)
\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)
\item
virtual \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ \hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{get\+Socket\+Accept} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&epoll)
virtual \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}{get\+Socket\+Accept}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&epoll)
\item
\mbox{\Hypertarget{classcore_1_1TCPServer_a120d5031360cc62251bdc43fa2d9813a}\label{classcore_1_1TCPServer_a120d5031360cc62251bdc43fa2d9813a}}
void \hyperlink{classcore_1_1TCPServer_a120d5031360cc62251bdc43fa2d9813a}{output} (\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session)
void \mbox{\hyperlink{classcore_1_1TCPServer_a120d5031360cc62251bdc43fa2d9813a}{output}} (\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session)
\begin{DoxyCompactList}\small\item\em Output the consoles array to the console. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List} $\ast$ \hyperlink{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}{black\+List}
\mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}{black\+List}}
\item
\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List} $\ast$ \hyperlink{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}{white\+List}
\mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}} $\ast$ \mbox{\hyperlink{classcore_1_1TCPServer_abad6300b6234ca8b69cef9128755342e}{white\+List}}
\item
std\+::vector$<$ \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ $>$ \hyperlink{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}{sessions}
std\+::vector$<$ \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ $>$ \mbox{\hyperlink{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}{sessions}}
\item
\hyperlink{classcore_1_1CommandList}{Command\+List} \hyperlink{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}{commands}
\mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} \mbox{\hyperlink{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}{commands}}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{on\+Data\+Received} (std\+::string data) override
void \mbox{\hyperlink{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}{on\+Data\+Received}} (std\+::string data) override
\item
int \hyperlink{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}{process\+Command} (std\+::string command, \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$session, std\+::stringstream \&data) override
int \mbox{\hyperlink{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}{process\+Command}} (std\+::string command, \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$session, std\+::stringstream \&data) override
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}}
Manage a socket connection as a T\+CP server type. Connections to the socket are processed through the accept functionality.
@@ -70,18 +70,18 @@ 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.
\subsection{Constructor \& Destructor Documentation}
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_a418924164fd6e59800272fbd6f069bb9}\label{classcore_1_1TCPServer_a418924164fd6e59800272fbd6f069bb9}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!T\+C\+P\+Server@{T\+C\+P\+Server}}
\index{T\+C\+P\+Server@{T\+C\+P\+Server}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{T\+C\+P\+Server()}{TCPServer()}}
{\footnotesize\ttfamily core\+::\+T\+C\+P\+Server\+::\+T\+C\+P\+Server (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1EPoll}{E\+Poll} \&}]{e\+Poll, }\item[{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}}]{address, }\item[{std\+::string}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
\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}]{text = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})}
The constructor for the B\+M\+A\+T\+C\+P\+Socket object.
\begin{DoxyParams}{Parameters}
{\em e\+Poll} & the \hyperlink{classcore_1_1EPoll}{E\+Poll} instance that manages the socket. \\
{\em e\+Poll} & the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} instance that manages the socket. \\
\hline
{\em url} & the IP address for the socket to receive connection requests. \\
\hline
@@ -94,28 +94,28 @@ The constructor for the B\+M\+A\+T\+C\+P\+Socket object.
the instance of the B\+M\+A\+T\+C\+P\+Server\+Socket.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}\label{classcore_1_1TCPServer_a7ccdc057c9eee8504fce796301f82088}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!````~T\+C\+P\+Server@{$\sim$\+T\+C\+P\+Server}}
\index{````~T\+C\+P\+Server@{$\sim$\+T\+C\+P\+Server}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{$\sim$\+T\+C\+P\+Server()}{~TCPServer()}}
\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})}
The destructor for this object.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}\label{classcore_1_1TCPServer_a841f02799ad8529aad7cea132f4de8a9}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!get\+Socket\+Accept@{get\+Socket\+Accept}}
\index{get\+Socket\+Accept@{get\+Socket\+Accept}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{get\+Socket\+Accept()}{getSocketAccept()}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ core\+::\+T\+C\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1EPoll}{E\+Poll} \&}]{epoll }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
\index{core::TCPServer@{core::TCPServer}!getSocketAccept@{getSocketAccept}}
\index{getSocketAccept@{getSocketAccept}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{getSocketAccept()}{getSocketAccept()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ core\+::\+T\+C\+P\+Server\+::get\+Socket\+Accept (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{epoll }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
get\+Socket\+Accept is designed to allow a polymorphic extension of this object to return a type of object that extends the definition of the server socket. Returning the appropriate session object that extends from Session provides the mechanism where the server can select the protocol dialog for the desired service.
Reimplemented in \hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{core\+::\+Console\+Server}.
Reimplemented in \mbox{\hyperlink{classcore_1_1ConsoleServer_a80d9ea7f3fc5e07c50d5b9e0d4943ca8}{core\+::\+Console\+Server}}.
\mbox{\Hypertarget{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}\label{classcore_1_1TCPServer_a276ccbc8cb9b4380ebd78807b97f0159}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!on\+Data\+Received@{on\+Data\+Received}}
\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}}
\index{core::TCPServer@{core::TCPServer}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Server\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the virtual data\+Received since for the server these are requests to accept the new connection socket. No data is to be read or written when this method is called. It is the response to the fact that a new connection is coming into the system
@@ -129,15 +129,15 @@ Override the virtual data\+Received since for the server these are requests to a
\end{DoxyParams}
Reimplemented from \hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}\label{classcore_1_1TCPServer_a93f64f81bc63f145799af91138a064dc}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!process\+Command@{process\+Command}}
\index{process\+Command@{process\+Command}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{process\+Command()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+T\+C\+P\+Server\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
\index{core::TCPServer@{core::TCPServer}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+T\+C\+P\+Server\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{command, }\item[{\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$}]{session, }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
This method is called when the \hyperlink{classcore_1_1Command}{Command} associated with this object is requested because a user has typed in the associated command name on a command entry line.
This method is called when the \mbox{\hyperlink{classcore_1_1Command}{Command}} associated with this object is requested because a user has typed in the associated command name on a command entry line.
\begin{DoxyParams}{Parameters}
@@ -146,34 +146,34 @@ This method is called when the \hyperlink{classcore_1_1Command}{Command} associa
\end{DoxyParams}
Reimplemented from \hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Command_a068ebc22f7a067cf23ed2c17f95b06e9}{core\+::\+Command}}.
\subsection{Member Data Documentation}
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}\label{classcore_1_1TCPServer_a82f6bf16e4ab20d8b30da09e034fffff}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!black\+List@{black\+List}}
\index{black\+List@{black\+List}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{black\+List}{blackList}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}$\ast$ core\+::\+T\+C\+P\+Server\+::black\+List}
\index{core::TCPServer@{core::TCPServer}!blackList@{blackList}}
\index{blackList@{blackList}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{blackList}{blackList}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}}$\ast$ core\+::\+T\+C\+P\+Server\+::black\+List}
If not N\+U\+LL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted. \mbox{\Hypertarget{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}\label{classcore_1_1TCPServer_afcc44802b988e2f4292504e804dccf8b}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!commands@{commands}}
\index{commands@{commands}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1CommandList}{Command\+List} core\+::\+T\+C\+P\+Server\+::commands}
\index{core::TCPServer@{core::TCPServer}!commands@{commands}}
\index{commands@{commands}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{commands}{commands}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} core\+::\+T\+C\+P\+Server\+::commands}
The commands object is a \hyperlink{classcore_1_1CommandList}{Command\+List} and is used to store \hyperlink{classcore_1_1Command}{Command} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}\label{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!sessions@{sessions}}
\index{sessions@{sessions}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$$>$ core\+::\+T\+C\+P\+Server\+::sessions}
The commands object is a \mbox{\hyperlink{classcore_1_1CommandList}{Command\+List}} and is used to store \mbox{\hyperlink{classcore_1_1Command}{Command}} objects to be parsed and run as data comes into the session. \mbox{\Hypertarget{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}\label{classcore_1_1TCPServer_aeed1bc55d099667ccda51cd682bfc633}}
\index{core::TCPServer@{core::TCPServer}!sessions@{sessions}}
\index{sessions@{sessions}!core::TCPServer@{core::TCPServer}}
\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}}
\index{core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}!white\+List@{white\+List}}
\index{white\+List@{white\+List}!core\+::\+T\+C\+P\+Server@{core\+::\+T\+C\+P\+Server}}
\subsubsection{\texorpdfstring{white\+List}{whiteList}}
{\footnotesize\ttfamily \hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}$\ast$ core\+::\+T\+C\+P\+Server\+::white\+List}
\index{core::TCPServer@{core::TCPServer}!whiteList@{whiteList}}
\index{whiteList@{whiteList}!core::TCPServer@{core::TCPServer}}
\doxysubsubsection{\texorpdfstring{whiteList}{whiteList}}
{\footnotesize\ttfamily \mbox{\hyperlink{classcore_1_1IPAddressList}{I\+P\+Address\+List}}$\ast$ core\+::\+T\+C\+P\+Server\+::white\+List}
If not N\+U\+LL the blacklist object can be assigned to this server socket and the server IP addresses connecting to the server attempting to accept a socket are contained in this list then the connection is rejected and no accept is granted.
@@ -1 +1 @@
68a7b524d02675d640143a5e560a7005
c2f920e944c957d37b6ae81996f8f831
Binary file not shown.
@@ -1 +1 @@
fe4685cbef65cb08a27ab4eee99867c8
c139f1cfe9d80689faf32cee0d8e8b8b
Binary file not shown.
+74 -82
View File
@@ -1,83 +1,84 @@
\hypertarget{classcore_1_1TCPSession}{}\section{core\+:\+:T\+C\+P\+Session Class Reference}
\label{classcore_1_1TCPSession}\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\hypertarget{classcore_1_1TCPSession}{}\doxysection{core\+::T\+C\+P\+Session Class Reference}
\label{classcore_1_1TCPSession}\index{core::TCPSession@{core::TCPSession}}
{\ttfamily \#include $<$T\+C\+P\+Session.\+h$>$}
Inheritance diagram for core\+:\+:T\+C\+P\+Session\+:\nopagebreak
Inheritance diagram for core\+::T\+C\+P\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=194pt]{classcore_1_1TCPSession__inherit__graph}
\includegraphics[width=308pt]{classcore_1_1TCPSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:T\+C\+P\+Session\+:\nopagebreak
Collaboration diagram for core\+::T\+C\+P\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TCPSession__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a66e485cd2ba804e6ee4ac11eba3e4fa0}\label{classcore_1_1TCPSession_a66e485cd2ba804e6ee4ac11eba3e4fa0}}
{\bfseries T\+C\+P\+Session} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \&server)
\mbox{\Hypertarget{classcore_1_1TCPSession_a7e1192babcdeb688f463d3e9e85d0979}\label{classcore_1_1TCPSession_a7e1192babcdeb688f463d3e9e85d0979}}
{\bfseries T\+C\+P\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} \&server, std\+::string text=\char`\"{}\char`\"{})
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_aad593104afcfaabef3c965fe5e0a9dd5}\label{classcore_1_1TCPSession_aad593104afcfaabef3c965fe5e0a9dd5}}
{\bfseries T\+C\+P\+Session} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \&server, std\+::string text)
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{output}} (std\+::stringstream \&data)
\item
virtual void \hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{output} (std\+::stringstream \&data)
void \mbox{\hyperlink{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}{send}} ()
\item
void \hyperlink{classcore_1_1TCPSession_ae86d38bd7b58bfb8f8a22c1e2354c3df}{send} (std\+::string data)
void \mbox{\hyperlink{classcore_1_1TCPSession_afdfe135694c6689f5365fac6c090ec33}{send\+To\+All}} ()
\item
void \hyperlink{classcore_1_1TCPSession_aae6bcaf66594f92984e6419b14e8221f}{send\+To\+All} (std\+::string data)
\item
void \hyperlink{classcore_1_1TCPSession_a2219e98dc33f9da2fec1d75597081dfb}{send\+To\+All} (\hyperlink{classcore_1_1SessionFilter}{Session\+Filter} filter, std\+::string data)
void \mbox{\hyperlink{classcore_1_1TCPSession_a05c489dcd2ebd74f527864759929e351}{send\+To\+All}} (\mbox{\hyperlink{classcore_1_1SessionFilter}{Session\+Filter}} filter)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a2c39191d695d79891989ea628f42c0a8}\label{classcore_1_1TCPSession_a2c39191d695d79891989ea628f42c0a8}}
\hyperlink{classcore_1_1Command}{Command} $\ast$ {\bfseries grab} = N\+U\+LL
\mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ {\bfseries grab} = N\+U\+LL
\item
std\+::stringstream \mbox{\hyperlink{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}{out}}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession_a265d9493fa544e601b5ad5fb1663340c}\label{classcore_1_1TCPSession_a265d9493fa544e601b5ad5fb1663340c}}
\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \& {\bfseries server}
\mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} \& {\bfseries server}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
virtual void \hyperlink{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}{on\+Data\+Received} (std\+::string data) override
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}{on\+Data\+Received}} (std\+::string data) override
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item
virtual void \hyperlink{classcore_1_1TCPSession_a77600a18d75f1efee00b3dc626b1e98b}{on\+Register} () override
\begin{DoxyCompactList}\small\item\em Called when the socket has finished registering with the epoll processing. \end{DoxyCompactList}\item
virtual void \hyperlink{classcore_1_1TCPSession_a8595f53d21b603a494d246b24dfa8be3}{on\+Connected} (std\+::stringstream \&out)
\mbox{\Hypertarget{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}\label{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}}
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_aed4ed499b978bcea57a8efefe929fc98}{on\+Registered}} () override
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}{on\+Connected}} ()
\item
virtual void \hyperlink{classcore_1_1TCPSession_aed35285cd2a2624bb219b51d3847634e}{protocol} (std\+::stringstream \&out, std\+::string data)
virtual void \mbox{\hyperlink{classcore_1_1TCPSession_ae90dc64e2d3c4b3239117923145edb3f}{protocol}} (std\+::string data)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}}
\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} defines the nature of the interaction with the client and stores persistent data for a defined session. B\+M\+A\+Session objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.
\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} defines the nature of the interaction with the client and stores persistent data for a defined session. B\+M\+A\+Session objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object. ~\newline
\subsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession_a8595f53d21b603a494d246b24dfa8be3}\label{classcore_1_1TCPSession_a8595f53d21b603a494d246b24dfa8be3}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!on\+Connected@{on\+Connected}}
\index{on\+Connected@{on\+Connected}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{on\+Connected()}{onConnected()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::on\+Connected (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}\label{classcore_1_1TCPSession_a8719952f7bb00bf7239ec40aa2868626}}
\index{core::TCPSession@{core::TCPSession}!onConnected@{onConnected}}
\index{onConnected@{onConnected}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onConnected()}{onConnected()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::on\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
This method is called from within the protocol method when protocol is called on the initial connection where the data is an empty string. Use this method to deliver a message to the connection upon connection. \mbox{\Hypertarget{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}\label{classcore_1_1TCPSession_aa87aca65cece02a107e7c288a925271f}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!on\+Data\+Received@{on\+Data\+Received}}
\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}}
\index{core::TCPSession@{core::TCPSession}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
@@ -93,70 +94,61 @@ The on\+Connected method is called when the socket is ready to communicate. Writ
\end{DoxyParams}
Reimplemented from \hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}.
\mbox{\Hypertarget{classcore_1_1TCPSession_a77600a18d75f1efee00b3dc626b1e98b}\label{classcore_1_1TCPSession_a77600a18d75f1efee00b3dc626b1e98b}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!on\+Register@{on\+Register}}
\index{on\+Register@{on\+Register}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{on\+Register()}{onRegister()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::on\+Register (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Called when the socket has finished registering with the epoll processing.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \hyperlink{classcore_1_1Socket}{Socket} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
Reimplemented from \hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{core\+::\+Socket}.
Reimplemented in \hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{core\+::\+T\+L\+S\+Session}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}\label{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!output@{output}}
\index{output@{output}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{output()}{output()}}
\index{core::TCPSession@{core::TCPSession}!output@{output}}
\index{output@{output}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (B\+M\+A\+Session) and will output the detail information for the client socket. When extending B\+M\+A\+T\+C\+P\+Socket or B\+M\+A\+Session you can override the method to add attributes to the list.
Reimplemented from \hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+T\+C\+P\+Socket}}.
Reimplemented in \hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_aed35285cd2a2624bb219b51d3847634e}\label{classcore_1_1TCPSession_aed35285cd2a2624bb219b51d3847634e}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out, }\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
\mbox{\Hypertarget{classcore_1_1TCPSession_ae90dc64e2d3c4b3239117923145edb3f}\label{classcore_1_1TCPSession_ae90dc64e2d3c4b3239117923145edb3f}}
\index{core::TCPSession@{core::TCPSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data = {\ttfamily \char`\"{}\char`\"{}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented in \hyperlink{classcore_1_1TLSSession_ad7f219581d1f7700ca1f88551cd01c74}{core\+::\+T\+L\+S\+Session}, and \hyperlink{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}{core\+::\+Console\+Session}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a547c436ab69f75307f065eca8cfcd109}{core\+::\+T\+L\+S\+Session}}, and \mbox{\hyperlink{classcore_1_1ConsoleSession_a830cc1e1e0c3fe3b066f0a9f7f469490}{core\+::\+Console\+Session}}.
\mbox{\Hypertarget{classcore_1_1TCPSession_ae86d38bd7b58bfb8f8a22c1e2354c3df}\label{classcore_1_1TCPSession_ae86d38bd7b58bfb8f8a22c1e2354c3df}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!send@{send}}
\index{send@{send}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{send()}{send()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})}
\mbox{\Hypertarget{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}\label{classcore_1_1TCPSession_a2b09eeafef5e44009a77d9da43e3b889}}
\index{core::TCPSession@{core::TCPSession}!send@{send}}
\index{send@{send}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{send()}{send()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{classcore_1_1TCPSession_aae6bcaf66594f92984e6419b14e8221f}\label{classcore_1_1TCPSession_aae6bcaf66594f92984e6419b14e8221f}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!send\+To\+All@{send\+To\+All}}
\index{send\+To\+All@{send\+To\+All}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})}
The send method is used to output the contents of the out stream to the session containing the stream. \mbox{\Hypertarget{classcore_1_1TCPSession_afdfe135694c6689f5365fac6c090ec33}\label{classcore_1_1TCPSession_afdfe135694c6689f5365fac6c090ec33}}
\index{core::TCPSession@{core::TCPSession}!sendToAll@{sendToAll}}
\index{sendToAll@{sendToAll}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{sendToAll()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send\+To\+All (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{classcore_1_1TCPSession_a2219e98dc33f9da2fec1d75597081dfb}\label{classcore_1_1TCPSession_a2219e98dc33f9da2fec1d75597081dfb}}
\index{core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}!send\+To\+All@{send\+To\+All}}
\index{send\+To\+All@{send\+To\+All}!core\+::\+T\+C\+P\+Session@{core\+::\+T\+C\+P\+Session}}
\subsubsection{\texorpdfstring{send\+To\+All()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1SessionFilter}{Session\+Filter}}]{filter, }\item[{std\+::string}]{data }\end{DoxyParamCaption})}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session. \mbox{\Hypertarget{classcore_1_1TCPSession_a05c489dcd2ebd74f527864759929e351}\label{classcore_1_1TCPSession_a05c489dcd2ebd74f527864759929e351}}
\index{core::TCPSession@{core::TCPSession}!sendToAll@{sendToAll}}
\index{sendToAll@{sendToAll}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{sendToAll()}{sendToAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Session\+::send\+To\+All (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1SessionFilter}{Session\+Filter}}}]{filter }\end{DoxyParamCaption})}
Use this send\+To\+All method to output the contents of the out stream to all the connections on the server excluding the sender session and the entries identified by the passed in filter object.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}\label{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}}
\index{core::TCPSession@{core::TCPSession}!out@{out}}
\index{out@{out}!core::TCPSession@{core::TCPSession}}
\doxysubsubsection{\texorpdfstring{out}{out}}
{\footnotesize\ttfamily std\+::stringstream core\+::\+T\+C\+P\+Session\+::out}
Use out to send data to the session socket or other session sockets.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
T\+C\+P\+Session.\+h\item
@@ -1 +1 @@
96c4aa672e4ff83fcc2e692ded50b46b
711c00bd88cb953a5c6ecf80fdbce559
Binary file not shown.
@@ -1 +1 @@
60372aefd3b93ff57f6e2c96ab3252f8
afc73337bd4329c988a68aaf0b512757
Binary file not shown.
+20 -20
View File
@@ -1,67 +1,67 @@
\hypertarget{classcore_1_1TCPSocket}{}\section{core\+:\+:T\+C\+P\+Socket Class Reference}
\label{classcore_1_1TCPSocket}\index{core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}}
\hypertarget{classcore_1_1TCPSocket}{}\doxysection{core\+::T\+C\+P\+Socket Class Reference}
\label{classcore_1_1TCPSocket}\index{core::TCPSocket@{core::TCPSocket}}
{\ttfamily \#include $<$T\+C\+P\+Socket.\+h$>$}
Inheritance diagram for core\+:\+:T\+C\+P\+Socket\+:\nopagebreak
Inheritance diagram for core\+::T\+C\+P\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=318pt]{classcore_1_1TCPSocket__inherit__graph}
\includegraphics[width=350pt]{classcore_1_1TCPSocket__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:T\+C\+P\+Socket\+:\nopagebreak
Collaboration diagram for core\+::T\+C\+P\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=251pt]{classcore_1_1TCPSocket__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_a09089f0bc701edcf6c148958fd29d374}\label{classcore_1_1TCPSocket_a09089f0bc701edcf6c148958fd29d374}}
{\bfseries T\+C\+P\+Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
{\bfseries T\+C\+P\+Socket} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_aa7ffbbd17827ffe769684fa8345862d6}\label{classcore_1_1TCPSocket_aa7ffbbd17827ffe769684fa8345862d6}}
{\bfseries T\+C\+P\+Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, std\+::string text)
{\bfseries T\+C\+P\+Socket} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, std\+::string text)
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_a22dae8f5b7989d206fab918297e0df94}\label{classcore_1_1TCPSocket_a22dae8f5b7989d206fab918297e0df94}}
void {\bfseries connect} (\hyperlink{classcore_1_1IPAddress}{I\+P\+Address} \&address)
void {\bfseries connect} (\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} \&address)
\item
virtual void \hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{output} (std\+::stringstream \&out)
virtual void \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{output}} (std\+::stringstream \&out)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSocket_abe7d0a740dc0c19c058661270a6fb630}\label{classcore_1_1TCPSocket_abe7d0a740dc0c19c058661270a6fb630}}
\hyperlink{classcore_1_1IPAddress}{I\+P\+Address} {\bfseries ip\+Address}
\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} {\bfseries ip\+Address}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1TCPSocket}{T\+C\+P\+Socket}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSocket}{T\+C\+P\+Socket}}
Provides a network T\+CP socket.
For accessing T\+CP network functions use this object. The connection oriented nature of T\+CP provides a single client persistent connection with data error correction and a durable synchronous data connection.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}\label{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}}
\index{core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}!output@{output}}
\index{output@{output}!core\+::\+T\+C\+P\+Socket@{core\+::\+T\+C\+P\+Socket}}
\subsubsection{\texorpdfstring{output()}{output()}}
\index{core::TCPSocket@{core::TCPSocket}!output@{output}}
\index{output@{output}!core::TCPSocket@{core::TCPSocket}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+T\+C\+P\+Socket\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (B\+M\+A\+Session) and will output the detail information for the client socket. When extending B\+M\+A\+T\+C\+P\+Socket or B\+M\+A\+Session you can override the method to add attributes to the list.
Reimplemented in \hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}, and \hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+T\+C\+P\+Session}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+T\+L\+S\+Session}}, and \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+T\+C\+P\+Session}}.
@@ -1 +1 @@
f8d494cbe809c3c51b99f1a1e3fa4f2e
45d94885a61efc762ddc3c8e590a48e6
Binary file not shown.
@@ -1 +1 @@
ad95ce4775187e9e2a2a5cf74d0b4091
e1ab27f91b23a5bd46126af5bc534fef
Binary file not shown.
+20 -20
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1TLSServer}{}\section{core\+:\+:T\+L\+S\+Server Class Reference}
\label{classcore_1_1TLSServer}\index{core\+::\+T\+L\+S\+Server@{core\+::\+T\+L\+S\+Server}}
\hypertarget{classcore_1_1TLSServer}{}\doxysection{core\+::T\+L\+S\+Server Class Reference}
\label{classcore_1_1TLSServer}\index{core::TLSServer@{core::TLSServer}}
{\ttfamily \#include $<$T\+L\+S\+Server.\+h$>$}
Inheritance diagram for core\+:\+:T\+L\+S\+Server\+:\nopagebreak
Inheritance diagram for core\+::T\+L\+S\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,43 +15,43 @@ Inheritance diagram for core\+:\+:T\+L\+S\+Server\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:T\+L\+S\+Server\+:\nopagebreak
Collaboration diagram for core\+::T\+L\+S\+Server\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TLSServer__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\hyperlink{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}{T\+L\+S\+Server} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1IPAddress}{I\+P\+Address} address)
\mbox{\hyperlink{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}{T\+L\+S\+Server}} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}} address)
\item
\hyperlink{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}{$\sim$\+T\+L\+S\+Server} ()
\mbox{\hyperlink{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}{$\sim$\+T\+L\+S\+Server}} ()
\item
\mbox{\Hypertarget{classcore_1_1TLSServer_a984dfd9faaa792e29f905e860d2e4a9e}\label{classcore_1_1TLSServer_a984dfd9faaa792e29f905e860d2e4a9e}}
\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session} $\ast$ {\bfseries get\+Socket\+Accept} ()
\mbox{\hyperlink{classcore_1_1TCPSession}{T\+C\+P\+Session}} $\ast$ {\bfseries get\+Socket\+Accept} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TLSServer_ab4e788350bda508fa44604d146e7537f}\label{classcore_1_1TLSServer_ab4e788350bda508fa44604d146e7537f}}
S\+S\+L\+\_\+\+C\+TX $\ast$ {\bfseries ctx}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1TLSServer}{T\+L\+S\+Server}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TLSServer}{T\+L\+S\+Server}}
Manage a socket connection as a T\+LS server type. Connections to the socket are processed through the accept functionality.
\subsection{Constructor \& Destructor Documentation}
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}\label{classcore_1_1TLSServer_a6460f9872936015efdfd0b8de04aa2fe}}
\index{core\+::\+T\+L\+S\+Server@{core\+::\+T\+L\+S\+Server}!T\+L\+S\+Server@{T\+L\+S\+Server}}
\index{T\+L\+S\+Server@{T\+L\+S\+Server}!core\+::\+T\+L\+S\+Server@{core\+::\+T\+L\+S\+Server}}
\subsubsection{\texorpdfstring{T\+L\+S\+Server()}{TLSServer()}}
{\footnotesize\ttfamily core\+::\+T\+L\+S\+Server\+::\+T\+L\+S\+Server (\begin{DoxyParamCaption}\item[{\hyperlink{classcore_1_1EPoll}{E\+Poll} \&}]{e\+Poll, }\item[{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}}]{address }\end{DoxyParamCaption})}
\index{core::TLSServer@{core::TLSServer}!TLSServer@{TLSServer}}
\index{TLSServer@{TLSServer}!core::TLSServer@{core::TLSServer}}
\doxysubsubsection{\texorpdfstring{TLSServer()}{TLSServer()}}
{\footnotesize\ttfamily core\+::\+T\+L\+S\+Server\+::\+T\+L\+S\+Server (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&}]{e\+Poll, }\item[{\mbox{\hyperlink{classcore_1_1IPAddress}{I\+P\+Address}}}]{address }\end{DoxyParamCaption})}
The constructor.
@@ -70,9 +70,9 @@ The constructor.
the instance of the B\+M\+A\+T\+L\+S\+Server\+Socket.
\end{DoxyReturn}
\mbox{\Hypertarget{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}\label{classcore_1_1TLSServer_ac71db77c796a1bf65357409cb96054c7}}
\index{core\+::\+T\+L\+S\+Server@{core\+::\+T\+L\+S\+Server}!````~T\+L\+S\+Server@{$\sim$\+T\+L\+S\+Server}}
\index{````~T\+L\+S\+Server@{$\sim$\+T\+L\+S\+Server}!core\+::\+T\+L\+S\+Server@{core\+::\+T\+L\+S\+Server}}
\subsubsection{\texorpdfstring{$\sim$\+T\+L\+S\+Server()}{~TLSServer()}}
\index{core::TLSServer@{core::TLSServer}!````~TLSServer@{$\sim$TLSServer}}
\index{````~TLSServer@{$\sim$TLSServer}!core::TLSServer@{core::TLSServer}}
\doxysubsubsection{\texorpdfstring{$\sim$TLSServer()}{~TLSServer()}}
{\footnotesize\ttfamily core\+::\+T\+L\+S\+Server\+::$\sim$\+T\+L\+S\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
The destructor for this object.
@@ -1 +1 @@
dba7c65d726646edb0f4d42a628017e4
06dd49540bf0b9bc8d6d30dcbcd1f908
Binary file not shown.
@@ -1 +1 @@
4c504e0bffcdd9795cedf0a8501829cf
b557149d33adcd0e054b6c429adc0078
Binary file not shown.
+39 -43
View File
@@ -1,105 +1,101 @@
\hypertarget{classcore_1_1TLSSession}{}\section{core\+:\+:T\+L\+S\+Session Class Reference}
\label{classcore_1_1TLSSession}\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\hypertarget{classcore_1_1TLSSession}{}\doxysection{core\+::T\+L\+S\+Session Class Reference}
\label{classcore_1_1TLSSession}\index{core::TLSSession@{core::TLSSession}}
{\ttfamily \#include $<$T\+L\+S\+Session.\+h$>$}
Inheritance diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak
Inheritance diagram for core\+::T\+L\+S\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=194pt]{classcore_1_1TLSSession__inherit__graph}
\includegraphics[width=177pt]{classcore_1_1TLSSession__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+:\+:T\+L\+S\+Session\+:\nopagebreak
Collaboration diagram for core\+::T\+L\+S\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TLSSession__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TLSSession_ac2bd48a18a46a3b6827cd689775e3552}\label{classcore_1_1TLSSession_ac2bd48a18a46a3b6827cd689775e3552}}
{\bfseries T\+L\+S\+Session} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \&server)
{\bfseries T\+L\+S\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} \&server)
\item
virtual void \hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{output} (std\+::stringstream \&out)
virtual void \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{output}} (std\+::stringstream \&\mbox{\hyperlink{classcore_1_1TCPSession_abb302bbb3d7e7bc75490c736364f0d4d}{out}})
\item
virtual void \hyperlink{classcore_1_1TLSSession_ad7f219581d1f7700ca1f88551cd01c74}{protocol} (std\+::stringstream \&out, std\+::string data) override
virtual void \mbox{\hyperlink{classcore_1_1TLSSession_a547c436ab69f75307f065eca8cfcd109}{protocol}} (std\+::string data) override
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}{receive\+Data} (char $\ast$buffer, int buffer\+Length) override
void \mbox{\hyperlink{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}{receive\+Data}} (char $\ast$buffer, int buffer\+Length) override
\item
void \hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{on\+Register} ()
\begin{DoxyCompactList}\small\item\em Called when the socket has finished registering with the epoll processing. \end{DoxyCompactList}\item
void \mbox{\hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}{on\+Register}} ()
\begin{DoxyCompactList}\small\item\em Called before the socket has registered with the epoll processing. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}\label{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}}
void {\bfseries on\+Registered} ()
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
void \mbox{\hyperlink{classcore_1_1TLSSession_a8e26fdc9e8a6c573b5a504a1f1b137a9}{on\+Registered}} ()
\begin{DoxyCompactList}\small\item\em Called after the socket has been registered with epoll processing. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1TLSSession}{T\+L\+S\+Session}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TLSSession}{T\+L\+S\+Session}}
Provides a network T\+LS socket.
For accessing T\+LS network functions use this object. The connection oriented nature of T\+LS provides a single client persistent connection with data error correction and a durable synchronous data connection.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}\label{classcore_1_1TLSSession_a76cec7cf4851eb27abe77a2339344c6d}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!on\+Register@{on\+Register}}
\index{on\+Register@{on\+Register}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\subsubsection{\texorpdfstring{on\+Register()}{onRegister()}}
\index{core::TLSSession@{core::TLSSession}!onRegister@{onRegister}}
\index{onRegister@{onRegister}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{onRegister()}{onRegister()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::on\+Register (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Called when the socket has finished registering with the epoll processing.
Called before the socket has registered with the epoll processing.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \hyperlink{classcore_1_1Socket}{Socket} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
The on\+Register method is called before the socket is registered with e\+Poll so objects extending the \mbox{\hyperlink{classcore_1_1Socket}{Socket}} definition can initialize the socket before receiving events. Evoked when the descriptor is set using set\+Descriptor for the socket.
Reimplemented from \hyperlink{classcore_1_1TCPSession_a77600a18d75f1efee00b3dc626b1e98b}{core\+::\+T\+C\+P\+Session}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_a81e5ee3e17834166d97c6e8b7dfe0da0}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}\label{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!output@{output}}
\index{output@{output}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\subsubsection{\texorpdfstring{output()}{output()}}
\index{core::TLSSession@{core::TLSSession}!output@{output}}
\index{output@{output}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (Session) and will output the detail information for the client socket. When extending T\+L\+S\+Socket or Session you can override the method to add attributes to the list.
Reimplemented from \hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+T\+C\+P\+Session}.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+T\+C\+P\+Session}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_ad7f219581d1f7700ca1f88551cd01c74}\label{classcore_1_1TLSSession_ad7f219581d1f7700ca1f88551cd01c74}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!protocol@{protocol}}
\index{protocol@{protocol}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\subsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out, }\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
\mbox{\Hypertarget{classcore_1_1TLSSession_a547c436ab69f75307f065eca8cfcd109}\label{classcore_1_1TLSSession_a547c436ab69f75307f065eca8cfcd109}}
\index{core::TLSSession@{core::TLSSession}!protocol@{protocol}}
\index{protocol@{protocol}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::protocol (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}
Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the \textquotesingle{}commands\textquotesingle{} added to the server object using the process\+Request method on the session input.
Reimplemented from \hyperlink{classcore_1_1TCPSession_aed35285cd2a2624bb219b51d3847634e}{core\+::\+T\+C\+P\+Session}.
Reimplemented in \hyperlink{classcore_1_1ConsoleSession_a9fc306ab91d0f2a6990984040ecb3e47}{core\+::\+Console\+Session}.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSession_ae90dc64e2d3c4b3239117923145edb3f}{core\+::\+T\+C\+P\+Session}}.
\mbox{\Hypertarget{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}\label{classcore_1_1TLSSession_a1822cb21de545dc1a183ec0bac6cc4f0}}
\index{core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}!receive\+Data@{receive\+Data}}
\index{receive\+Data@{receive\+Data}!core\+::\+T\+L\+S\+Session@{core\+::\+T\+L\+S\+Session}}
\subsubsection{\texorpdfstring{receive\+Data()}{receiveData()}}
\index{core::TLSSession@{core::TLSSession}!receiveData@{receiveData}}
\index{receiveData@{receiveData}!core::TLSSession@{core::TLSSession}}
\doxysubsubsection{\texorpdfstring{receiveData()}{receiveData()}}
{\footnotesize\ttfamily void core\+::\+T\+L\+S\+Session\+::receive\+Data (\begin{DoxyParamCaption}\item[{char $\ast$}]{buffer, }\item[{int}]{buffer\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
receive\+Data will read the data from the socket and place it in the socket buffer. T\+LS layer overrides this to be able to read from S\+SL.
Reimplemented from \hyperlink{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}{core\+::\+Socket}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_af455ec6f793473f529507af26aa54695}{core\+::\+Socket}}.
@@ -1 +1 @@
469fedff3066e26b43dc6d890a0b819d
4b4e04eef98ed454cb8bb0eb211081b4
Binary file not shown.
@@ -1 +1 @@
2c6b4796f40c16a58dcb7e396dcaa8e2
61d63fe6b2c9be6553ef9377dc278de0
Binary file not shown.
+31 -19
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1TerminalSession}{}\section{core\+:\+:Terminal\+Session Class Reference}
\label{classcore_1_1TerminalSession}\index{core\+::\+Terminal\+Session@{core\+::\+Terminal\+Session}}
\hypertarget{classcore_1_1TerminalSession}{}\doxysection{core\+::Terminal\+Session Class Reference}
\label{classcore_1_1TerminalSession}\index{core::TerminalSession@{core::TerminalSession}}
Inheritance diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
Inheritance diagram for core\+::Terminal\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,30 +11,27 @@ Inheritance diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Terminal\+Session\+:\nopagebreak
Collaboration diagram for core\+::Terminal\+Session\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classcore_1_1TerminalSession__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a6773b1897d2e417ab573b28fa127230c}\label{classcore_1_1TerminalSession_a6773b1897d2e417ab573b28fa127230c}}
{\bfseries Terminal\+Session} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, \hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server} \&server)
{\bfseries Terminal\+Session} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, \mbox{\hyperlink{classcore_1_1TCPServer}{T\+C\+P\+Server}} \&server)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a0df0106164a7f213acf2e814e725c576}\label{classcore_1_1TerminalSession_a0df0106164a7f213acf2e814e725c576}}
int {\bfseries get\+Lines} ()
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}\label{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}}
void {\bfseries clear} ()
void \mbox{\hyperlink{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}{clear}} ()
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}\label{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}}
void {\bfseries clear\+E\+OL} ()
void \mbox{\hyperlink{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}{clear\+E\+OL}} ()
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}\label{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}}
void {\bfseries set\+Cursor\+Location} (int x, int y)
void \mbox{\hyperlink{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}{set\+Cursor\+Location}} (int x, int y)
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_abb104a3743f52c8237afc25c9abd3815}\label{classcore_1_1TerminalSession_abb104a3743f52c8237afc25c9abd3815}}
void {\bfseries set\+Color} (int color)
@@ -57,15 +54,30 @@ void {\bfseries Previous\+Line} (int lines)
\mbox{\Hypertarget{classcore_1_1TerminalSession_a2305ddd73d1ccb8a303abd718cd6e7b0}\label{classcore_1_1TerminalSession_a2305ddd73d1ccb8a303abd718cd6e7b0}}
void {\bfseries scroll\+Area} (int start, int end)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TerminalSession_a2a04d42bd95c0c3f44d53cc9a8a471fd}\label{classcore_1_1TerminalSession_a2a04d42bd95c0c3f44d53cc9a8a471fd}}
std\+::stringstream {\bfseries out}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}\label{classcore_1_1TerminalSession_a42bb06857891220a831da04248233935}}
\index{core::TerminalSession@{core::TerminalSession}!clear@{clear}}
\index{clear@{clear}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Clear the display. \mbox{\Hypertarget{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}\label{classcore_1_1TerminalSession_aa660768eed03b0b996a749e8a146446c}}
\index{core::TerminalSession@{core::TerminalSession}!clearEOL@{clearEOL}}
\index{clearEOL@{clearEOL}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{clearEOL()}{clearEOL()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::clear\+E\+OL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Clear the display from the cursor to the end of line. \mbox{\Hypertarget{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}\label{classcore_1_1TerminalSession_aa9939cbe36c08e1a0b8413a96ca251fa}}
\index{core::TerminalSession@{core::TerminalSession}!setCursorLocation@{setCursorLocation}}
\index{setCursorLocation@{setCursorLocation}!core::TerminalSession@{core::TerminalSession}}
\doxysubsubsection{\texorpdfstring{setCursorLocation()}{setCursorLocation()}}
{\footnotesize\ttfamily void core\+::\+Terminal\+Session\+::set\+Cursor\+Location (\begin{DoxyParamCaption}\item[{int}]{x, }\item[{int}]{y }\end{DoxyParamCaption})}
Set the location of the cursor on the display.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
Terminal\+Session.\+h\item
@@ -1 +1 @@
80761d4e30598b2be75ad063fa51d154
79a104eec9d87e5725cdcedbbd80ce2b
Binary file not shown.
@@ -1 +1 @@
85637984344b2e2fdd988395586e04e8
5d48819c89efffda2390cb97e42f0b32
+15 -15
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1Thread}{}\section{core\+:\+:Thread Class Reference}
\label{classcore_1_1Thread}\index{core\+::\+Thread@{core\+::\+Thread}}
\hypertarget{classcore_1_1Thread}{}\doxysection{core\+::Thread Class Reference}
\label{classcore_1_1Thread}\index{core::Thread@{core::Thread}}
{\ttfamily \#include $<$Thread.\+h$>$}
Inheritance diagram for core\+:\+:Thread\+:\nopagebreak
Inheritance diagram for core\+::Thread\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,20 +15,20 @@ Inheritance diagram for core\+:\+:Thread\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Thread\+:\nopagebreak
Collaboration diagram for core\+::Thread\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=151pt]{classcore_1_1Thread__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Thread_acf8e7e682431fa6a4a3a77ce9b33aefc}\label{classcore_1_1Thread_acf8e7e682431fa6a4a3a77ce9b33aefc}}
{\bfseries Thread} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
{\bfseries Thread} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\item
void \hyperlink{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}{start} ()
void \mbox{\hyperlink{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}{start}} ()
\item
\mbox{\Hypertarget{classcore_1_1Thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}\label{classcore_1_1Thread_a9ba3b9a5127dcfa0ee2c5f315d6a648d}}
void {\bfseries join} ()
@@ -45,19 +45,19 @@ int {\bfseries get\+Count} ()
\mbox{\Hypertarget{classcore_1_1Thread_aa5b676aa441735c2ac60d05fd3ab02b5}\label{classcore_1_1Thread_aa5b676aa441735c2ac60d05fd3ab02b5}}
void {\bfseries output} (std\+::stringstream \&data)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1Thread}{Thread}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Thread}{Thread}}
This thread object is designed to be the thread processor for the \hyperlink{classcore_1_1EPoll}{E\+Poll} object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. \hyperlink{classcore_1_1EPoll}{E\+Poll} will instantiate a \hyperlink{classcore_1_1Thread}{Thread} object for each thread specified in the \hyperlink{classcore_1_1EPoll}{E\+Poll}\textquotesingle{}s start method.
This thread object is designed to be the thread processor for the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} object. It wraps the thread object to allow maintaining a status value for monitoring the thread activity. \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} will instantiate a \mbox{\hyperlink{classcore_1_1Thread}{Thread}} object for each thread specified in the \mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}}\textquotesingle{}s start method.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}\label{classcore_1_1Thread_ae6885df9a9b9503669e5776518b19054}}
\index{core\+::\+Thread@{core\+::\+Thread}!start@{start}}
\index{start@{start}!core\+::\+Thread@{core\+::\+Thread}}
\subsubsection{\texorpdfstring{start()}{start()}}
\index{core::Thread@{core::Thread}!start@{start}}
\index{start@{start}!core::Thread@{core::Thread}}
\doxysubsubsection{\texorpdfstring{start()}{start()}}
{\footnotesize\ttfamily void core\+::\+Thread\+::start (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Start the thread object. This will cause the epoll scheduler to commence reading the epoll queue.
+1 -1
View File
@@ -1 +1 @@
de42a90e0dcd12a4956cb0c57318bbb5
c6c8d331b9f919c769d46392c930a2b0
Binary file not shown.
@@ -1 +1 @@
a1ad7d05edad452952ead7f75c1f752c
c6c8d331b9f919c769d46392c930a2b0
Binary file not shown.
+31 -31
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1Timer}{}\section{core\+:\+:Timer Class Reference}
\label{classcore_1_1Timer}\index{core\+::\+Timer@{core\+::\+Timer}}
\hypertarget{classcore_1_1Timer}{}\doxysection{core\+::Timer Class Reference}
\label{classcore_1_1Timer}\index{core::Timer@{core::Timer}}
{\ttfamily \#include $<$Timer.\+h$>$}
Inheritance diagram for core\+:\+:Timer\+:\nopagebreak
Inheritance diagram for core\+::Timer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,71 +15,71 @@ Inheritance diagram for core\+:\+:Timer\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:Timer\+:\nopagebreak
Collaboration diagram for core\+::Timer\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=217pt]{classcore_1_1Timer__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1Timer_aa12f319bab9c7a350244c4d47fe59de9}\label{classcore_1_1Timer_aa12f319bab9c7a350244c4d47fe59de9}}
{\bfseries Timer} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
{\bfseries Timer} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1Timer_a6ba8de81f8e3b26fd132e29230646024}\label{classcore_1_1Timer_a6ba8de81f8e3b26fd132e29230646024}}
{\bfseries Timer} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, double delay)
{\bfseries Timer} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, double delay)
\item
void \hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer} (double delay)
void \mbox{\hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer}} (double delay)
\item
void \hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer} ()
void \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer}} ()
\item
double \hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed} ()
double \mbox{\hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed}} ()
\item
\mbox{\Hypertarget{classcore_1_1Timer_afee1c871ce74e6b594bd6e64ad3cb576}\label{classcore_1_1Timer_afee1c871ce74e6b594bd6e64ad3cb576}}
double {\bfseries get\+Epoch} ()
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
virtual void \hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout} ()=0
virtual void \mbox{\hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout}} ()=0
\end{DoxyCompactItemize}
\subsection{Detailed Description}
\hyperlink{classcore_1_1Timer}{Timer}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1Timer}{Timer}}
Set and trigger callback upon specified timeout.
The \hyperlink{classcore_1_1Timer}{Timer} is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended.
The \mbox{\hyperlink{classcore_1_1Timer}{Timer}} is used to establish a timer using the timer socket interface. It cannot be instantiated directly but must be extended.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}\label{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}}
\index{core\+::\+Timer@{core\+::\+Timer}!clear\+Timer@{clear\+Timer}}
\index{clear\+Timer@{clear\+Timer}!core\+::\+Timer@{core\+::\+Timer}}
\subsubsection{\texorpdfstring{clear\+Timer()}{clearTimer()}}
\index{core::Timer@{core::Timer}!clearTimer@{clearTimer}}
\index{clearTimer@{clearTimer}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{clearTimer()}{clearTimer()}}
{\footnotesize\ttfamily void core\+::\+Timer\+::clear\+Timer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use the \hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()} to unset the timer and return the timer to an idle state. \mbox{\Hypertarget{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}\label{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}}
\index{core\+::\+Timer@{core\+::\+Timer}!get\+Elapsed@{get\+Elapsed}}
\index{get\+Elapsed@{get\+Elapsed}!core\+::\+Timer@{core\+::\+Timer}}
\subsubsection{\texorpdfstring{get\+Elapsed()}{getElapsed()}}
Use the \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()}} to unset the timer and return the timer to an idle state. \mbox{\Hypertarget{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}\label{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}}
\index{core::Timer@{core::Timer}!getElapsed@{getElapsed}}
\index{getElapsed@{getElapsed}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{getElapsed()}{getElapsed()}}
{\footnotesize\ttfamily double core\+::\+Timer\+::get\+Elapsed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use the \hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed()} method to obtain the amount of time that has elapsed since the timer was set. \mbox{\Hypertarget{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}\label{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}}
\index{core\+::\+Timer@{core\+::\+Timer}!on\+Timeout@{on\+Timeout}}
\index{on\+Timeout@{on\+Timeout}!core\+::\+Timer@{core\+::\+Timer}}
\subsubsection{\texorpdfstring{on\+Timeout()}{onTimeout()}}
Use the \mbox{\hyperlink{classcore_1_1Timer_a0df7f1ffc05529b45d6e13713bbc0209}{get\+Elapsed()}} method to obtain the amount of time that has elapsed since the timer was set. \mbox{\Hypertarget{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}\label{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}}
\index{core::Timer@{core::Timer}!onTimeout@{onTimeout}}
\index{onTimeout@{onTimeout}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{onTimeout()}{onTimeout()}}
{\footnotesize\ttfamily virtual void core\+::\+Timer\+::on\+Timeout (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}
This method is called when the time out occurs. \mbox{\Hypertarget{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}\label{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}}
\index{core\+::\+Timer@{core\+::\+Timer}!set\+Timer@{set\+Timer}}
\index{set\+Timer@{set\+Timer}!core\+::\+Timer@{core\+::\+Timer}}
\subsubsection{\texorpdfstring{set\+Timer()}{setTimer()}}
\index{core::Timer@{core::Timer}!setTimer@{setTimer}}
\index{setTimer@{setTimer}!core::Timer@{core::Timer}}
\doxysubsubsection{\texorpdfstring{setTimer()}{setTimer()}}
{\footnotesize\ttfamily void core\+::\+Timer\+::set\+Timer (\begin{DoxyParamCaption}\item[{double}]{delay }\end{DoxyParamCaption})}
Use the \hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer()} method to set the time out value for timer. Setting the timer also starts the timer countdown. The \hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()} method can be used to reset the timer without triggering the \hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout()} callback.
Use the \mbox{\hyperlink{classcore_1_1Timer_ac0a642cdcb76b7f995137162050d3d0b}{set\+Timer()}} method to set the time out value for timer. Setting the timer also starts the timer countdown. The \mbox{\hyperlink{classcore_1_1Timer_a8e063f46e89dac04364871e909ab940a}{clear\+Timer()}} method can be used to reset the timer without triggering the \mbox{\hyperlink{classcore_1_1Timer_ae51704ff08d985bbc30e3ff4c9b3c6ca}{on\+Timeout()}} callback.
\begin{DoxyParams}{Parameters}
+1 -1
View File
@@ -1 +1 @@
08ba9fdd1d2b598f2103722f34b49d39
355597a5b8f73bdd4a64e5354c67cd58
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
317cfb8a9b03073756b4dd745a037a28
617971adb50a1efe813581edca119552
Binary file not shown.
+17 -17
View File
@@ -1,12 +1,12 @@
\hypertarget{classcore_1_1UDPServerSocket}{}\section{core\+:\+:U\+D\+P\+Server\+Socket Class Reference}
\label{classcore_1_1UDPServerSocket}\index{core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}}
\hypertarget{classcore_1_1UDPServerSocket}{}\doxysection{core\+::U\+D\+P\+Server\+Socket Class Reference}
\label{classcore_1_1UDPServerSocket}\index{core::UDPServerSocket@{core::UDPServerSocket}}
{\ttfamily \#include $<$U\+D\+P\+Server\+Socket.\+h$>$}
Inheritance diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak
Inheritance diagram for core\+::U\+D\+P\+Server\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -15,46 +15,46 @@ Inheritance diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:U\+D\+P\+Server\+Socket\+:\nopagebreak
Collaboration diagram for core\+::U\+D\+P\+Server\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=248pt]{classcore_1_1UDPServerSocket__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1UDPServerSocket_a6fee7bc6dc2f94d48734c07cbc918734}\label{classcore_1_1UDPServerSocket_a6fee7bc6dc2f94d48734c07cbc918734}}
{\bfseries U\+D\+P\+Server\+Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name)
{\bfseries U\+D\+P\+Server\+Socket} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll, std\+::string url, short int port, std\+::string command\+Name)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
void \hyperlink{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}{on\+Data\+Received} (std\+::string data) override
void \mbox{\hyperlink{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}{on\+Data\+Received}} (std\+::string data) override
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classcore_1_1UDPServerSocket_aef32dee99a40a8951a708e99776539d4}\label{classcore_1_1UDPServerSocket_aef32dee99a40a8951a708e99776539d4}}
int {\bfseries process\+Command} (std\+::string request, std\+::stringstream \&data)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1UDPServerSocket_a83362532c66271699c4e60d1da2a41bc}\label{classcore_1_1UDPServerSocket_a83362532c66271699c4e60d1da2a41bc}}
std\+::vector$<$ Session $\ast$ $>$ {\bfseries sessions}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
\subsection{Detailed Description}
\hyperlink{classcore_1_1UDPSocket}{U\+D\+P\+Socket}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1UDPSocket}{U\+D\+P\+Socket}}
Manage a socket connection as a U\+DP server type. Connections to the socket are processed through the session list functionality. A list of sessions is maintained in a vector object.
\subsection{Member Function Documentation}
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}\label{classcore_1_1UDPServerSocket_a41933ca153c854a800e3d047ab18313e}}
\index{core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}!on\+Data\+Received@{on\+Data\+Received}}
\index{on\+Data\+Received@{on\+Data\+Received}!core\+::\+U\+D\+P\+Server\+Socket@{core\+::\+U\+D\+P\+Server\+Socket}}
\subsubsection{\texorpdfstring{on\+Data\+Received()}{onDataReceived()}}
\index{core::UDPServerSocket@{core::UDPServerSocket}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::UDPServerSocket@{core::UDPServerSocket}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+U\+D\+P\+Server\+Socket\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{std\+::string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
@@ -70,7 +70,7 @@ The on\+Connected method is called when the socket is ready to communicate. Writ
\end{DoxyParams}
Reimplemented from \hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}}.
@@ -1 +1 @@
c5e4902fc2897ce6b95c687ce33795e8
ee5edced35c03e5bc69a3bd5b59cb218
Binary file not shown.
@@ -1 +1 @@
306824da21e5752a323ff0f90edb1bcd
d160cdaf2d27afabe4f7472a96002fb2
+7 -7
View File
@@ -1,8 +1,8 @@
\hypertarget{classcore_1_1UDPSocket}{}\section{core\+:\+:U\+D\+P\+Socket Class Reference}
\label{classcore_1_1UDPSocket}\index{core\+::\+U\+D\+P\+Socket@{core\+::\+U\+D\+P\+Socket}}
\hypertarget{classcore_1_1UDPSocket}{}\doxysection{core\+::U\+D\+P\+Socket Class Reference}
\label{classcore_1_1UDPSocket}\index{core::UDPSocket@{core::UDPSocket}}
Inheritance diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak
Inheritance diagram for core\+::U\+D\+P\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
@@ -11,20 +11,20 @@ Inheritance diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak
\end{figure}
Collaboration diagram for core\+:\+:U\+D\+P\+Socket\+:\nopagebreak
Collaboration diagram for core\+::U\+D\+P\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=225pt]{classcore_1_1UDPSocket__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1UDPSocket_a9dcbe1203fea9c25400a391d3430e976}\label{classcore_1_1UDPSocket_a9dcbe1203fea9c25400a391d3430e976}}
{\bfseries U\+D\+P\+Socket} (\hyperlink{classcore_1_1EPoll}{E\+Poll} \&e\+Poll)
{\bfseries U\+D\+P\+Socket} (\mbox{\hyperlink{classcore_1_1EPoll}{E\+Poll}} \&e\+Poll)
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}
\doxysubsection*{Additional Inherited Members}
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
@@ -1 +1 @@
800fd4572aa5a1c56e7a08245c726205
b78440274322ebafec9b093976210cc0
Binary file not shown.
@@ -1 +1 @@
84c7a8ecd3abb162f8ae25a1f0346b7e
c67a7f359a1f48f7b3e8b59b69c2ddb1
Loaded 100 of 835 files, more files were not shown because too many files have changed in this diff. Show more