Create TCPSession2 for outpubound connections.

This commit is contained in:
Brad Arant committed 2022-10-17 20:03:23 -07:00
1 parent 5c87225c6f
commit fd70c79282
129 files changed
+1902 -710

No files matched your search

+1
View File
@@ -15,6 +15,7 @@ Here are the classes, structs, unions and interfaces with brief descriptions\+:\
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1SubscriptionManager}{core\+::\+Subscription\+Manager}} }{\pageref{classcore_1_1SubscriptionManager}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPServer}{core\+::\+TCPServer}} }{\pageref{classcore_1_1TCPServer}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSession}{core\+::\+TCPSession}} }{\pageref{classcore_1_1TCPSession}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSession2}{core\+::\+TCPSession2}} }{\pageref{classcore_1_1TCPSession2}}{}
\item\contentsline{section}{\mbox{\hyperlink{classcore_1_1TCPSocket}{core\+::\+TCPSocket}} }{\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}}{}
+3
View File
@@ -51,6 +51,9 @@ void {\bfseries reset\+Socket} (\mbox{\hyperlink{classcore_1_1Socket}{Socket}} $
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1EPoll_a61aa8c4c90733287fd497f860bf521ab}\label{classcore_1_1EPoll_a61aa8c4c90733287fd497f860bf521ab}}
volatile long long {\bfseries event\+Id} = 0
\item
int \mbox{\hyperlink{classcore_1_1EPoll_acfcef2513d94f7b9a191fed3dc744d90}{max\+Sockets}}
\begin{DoxyCompactList}\small\item\em The maximum number of socket allowed. \end{DoxyCompactList}\end{DoxyCompactItemize}
+6 -6
View File
@@ -24,8 +24,8 @@ Collaboration diagram for core\+::INotify\+:\nopagebreak
\mbox{\Hypertarget{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}\label{classcore_1_1INotify_a777d8ab058639165974b7c0144564b26}}
{\bfseries INotify} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ab498fca3d44a7de75b1a6b1f9e1404e7}\label{classcore_1_1INotify_ab498fca3d44a7de75b1a6b1f9e1404e7}}
int {\bfseries add\+Watch} (std\+::string watch)
\mbox{\Hypertarget{classcore_1_1INotify_a387caaa1bea6e6cba95054d5adf4ac55}\label{classcore_1_1INotify_a387caaa1bea6e6cba95054d5adf4ac55}}
int {\bfseries add\+Watch} (coreutils\+::\+ZString \&watch)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a5ce2a1bbfd69f5a88ef807f7ed439c06}\label{classcore_1_1INotify_a5ce2a1bbfd69f5a88ef807f7ed439c06}}
void {\bfseries remove\+Watch} (int wd)
@@ -33,8 +33,8 @@ void {\bfseries remove\+Watch} (int wd)
\mbox{\Hypertarget{classcore_1_1INotify_a642e44e906da81ce8180beb2bc09d602}\label{classcore_1_1INotify_a642e44e906da81ce8180beb2bc09d602}}
void {\bfseries on\+Data\+Received} (coreutils\+::\+ZString \&data) override
\item
\mbox{\Hypertarget{classcore_1_1INotify_a172949023698fc486d690d3b6d3d6f17}\label{classcore_1_1INotify_a172949023698fc486d690d3b6d3d6f17}}
virtual void {\bfseries in\+Access} (std\+::string name)
\mbox{\Hypertarget{classcore_1_1INotify_a551ffbcf700e287f0f8f3a1a8cbd0eec}\label{classcore_1_1INotify_a551ffbcf700e287f0f8f3a1a8cbd0eec}}
virtual void {\bfseries in\+Access} (coreutils\+::\+ZString name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ab11e39edc303c6f18250a6381ed225d8}\label{classcore_1_1INotify_ab11e39edc303c6f18250a6381ed225d8}}
virtual void {\bfseries in\+Attrib} (std\+::string name)
@@ -45,8 +45,8 @@ virtual void {\bfseries in\+Close\+Write} (std\+::string name)
\mbox{\Hypertarget{classcore_1_1INotify_adc4e710fd3a7fa4aa104814f4de47879}\label{classcore_1_1INotify_adc4e710fd3a7fa4aa104814f4de47879}}
virtual void {\bfseries in\+Close\+No\+Write} (std\+::string name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_ac91acdb9fddda8ca47e4f8cbf3cf50e0}\label{classcore_1_1INotify_ac91acdb9fddda8ca47e4f8cbf3cf50e0}}
virtual void {\bfseries in\+Create} (std\+::string name)
\mbox{\Hypertarget{classcore_1_1INotify_adb552aaac3a8c05e2a5588245c1b7269}\label{classcore_1_1INotify_adb552aaac3a8c05e2a5588245c1b7269}}
virtual void {\bfseries in\+Create} (coreutils\+::\+ZString \&name)
\item
\mbox{\Hypertarget{classcore_1_1INotify_a0f46651b97d2f081b8ef968e8328c827}\label{classcore_1_1INotify_a0f46651b97d2f081b8ef968e8328c827}}
virtual void {\bfseries in\+Delete} (std\+::string name)
+8 -9
View File
@@ -35,9 +35,8 @@ void \mbox{\hyperlink{classcore_1_1Socket_ac44f6ae3196a8a3e09a6a85fcf495762}{set
\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 \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_a4c9a3396693ff919eb827729f9e72b03}{event\+Received}} (struct epoll\+\_\+event event)
\begin{DoxyCompactList}\small\item\em Get the descriptor for the socket. \end{DoxyCompactList}\item
bool \mbox{\hyperlink{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}{event\+Received}} (struct epoll\+\_\+event event, long long event\+Id)
\begin{DoxyCompactList}\small\item\em Parse epoll event and call specified callbacks. \end{DoxyCompactList}\item
int \mbox{\hyperlink{classcore_1_1Socket_a1413c826307ef0f29d7457770af675e3}{write}} (std\+::string data)
\item
@@ -65,6 +64,9 @@ bool {\bfseries needs\+To\+Write} ()
\item
\mbox{\Hypertarget{classcore_1_1Socket_a9f9a89f5caab42f77b3759ceb54a0a78}\label{classcore_1_1Socket_a9f9a89f5caab42f77b3759ceb54a0a78}}
bool {\bfseries reset} = false
\item
\mbox{\Hypertarget{classcore_1_1Socket_a6303734821a2979f7b19add6ce1367b9}\label{classcore_1_1Socket_a6303734821a2979f7b19add6ce1367b9}}
volatile bool {\bfseries shut\+Down} = false
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
@@ -87,9 +89,6 @@ virtual void \mbox{\hyperlink{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac
\item
\mbox{\Hypertarget{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}\label{classcore_1_1Socket_a3b0b139ac7da581f0d969f6ae9a0c97c}}
\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \& {\bfseries e\+Poll}
\item
\mbox{\Hypertarget{classcore_1_1Socket_aa09db6c6298d20ea76c6e65f8bffd3dc}\label{classcore_1_1Socket_aa09db6c6298d20ea76c6e65f8bffd3dc}}
bool {\bfseries shut\+Down} = false
\end{DoxyCompactItemize}
@@ -131,11 +130,11 @@ Constructor
Destructor
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1Socket_a4c9a3396693ff919eb827729f9e72b03}\label{classcore_1_1Socket_a4c9a3396693ff919eb827729f9e72b03}}
\mbox{\Hypertarget{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}\label{classcore_1_1Socket_a1a045e15fb5851d666a21be05ac4c5d7}}
\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 }\end{DoxyParamCaption})}
{\footnotesize\ttfamily bool core\+::\+Socket\+::event\+Received (\begin{DoxyParamCaption}\item[{struct epoll\+\_\+event}]{event, }\item[{long long}]{event\+Id }\end{DoxyParamCaption})}
@@ -190,7 +189,7 @@ Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_a76cec7cf4851eb27abe77
Called when the socket has finished unregistering for the epoll processing.
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_a46ed2e240852d3fa949979ebbc4ac875}\label{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}}
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_a46ed2e240852d3fa949979ebbc4ac875}\label{classcore_1_1Socket_a46ed2e240852d3fa949979ebbc4ac875}}
\index{core::Socket@{core::Socket}!receiveData@{receiveData}}
\index{receiveData@{receiveData}!core::Socket@{core::Socket}}
\doxysubsubsection{\texorpdfstring{receiveData()}{receiveData()}}
@@ -1 +1 @@
5ea0d5d5486386272f1f6c4c06eae462
854355342b517c40faec978a7a4a8024
Binary file not shown.
+152
View File
@@ -0,0 +1,152 @@
\hypertarget{classcore_1_1TCPSession2}{}\doxysection{core\+::TCPSession2 Class Reference}
\label{classcore_1_1TCPSession2}\index{core::TCPSession2@{core::TCPSession2}}
{\ttfamily \#include $<$TCPSession2.\+h$>$}
Inheritance diagram for core\+::TCPSession2\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=186pt]{classcore_1_1TCPSession2__inherit__graph}
\end{center}
\end{figure}
Collaboration diagram for core\+::TCPSession2\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{classcore_1_1TCPSession2__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a1802e408a99b1a821b6cfc3fb64e083a}\label{classcore_1_1TCPSession2_a1802e408a99b1a821b6cfc3fb64e083a}}
{\bfseries TCPSession2} (\mbox{\hyperlink{classcore_1_1EPoll}{EPoll}} \&e\+Poll, std\+::string text=\char`\"{}\char`\"{})
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}{output}} (std\+::stringstream \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}{send}} ()
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}{terminate}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a1d0170cac9acda04f66971b843660676}\label{classcore_1_1TCPSession2_a1d0170cac9acda04f66971b843660676}}
\mbox{\hyperlink{classcore_1_1Command}{Command}} $\ast$ {\bfseries grab} = NULL
\item
std\+::stringstream \mbox{\hyperlink{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}{out}}
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\Hypertarget{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}\label{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}}
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a76096659b82c5dcbf6eac1d916511e60}{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_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}{on\+Data\+Received}} (coreutils\+::\+ZString \&data) override
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}{on\+Line\+Received}} (coreutils\+::\+ZString \&line)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}{on\+Block\+Received}} (coreutils\+::\+ZString \&block)
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}{on\+Connected}} ()
\item
virtual void \mbox{\hyperlink{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}{protocol}} (coreutils\+::\+ZString \&data)
\item
void \mbox{\hyperlink{classcore_1_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}{set\+Block\+Size}} (int size=0)
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1TCPSession2}{TCPSession2}}
\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} defines the nature of the interaction with the client and stores persistent data for a defined session. \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}} objects are not sockets but instead provide a communications control mechanism. Protocol conversations are provided through extensions from this object.
\mbox{\hyperlink{classcore_1_1TCPSession2}{TCPSession2}} is designed to be \textquotesingle{}connected\textquotesingle{} instead of being served by a server.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}\label{classcore_1_1TCPSession2_a6c88775e81dc0074ef0832146be9f4b9}}
\index{core::TCPSession2@{core::TCPSession2}!onBlockReceived@{onBlockReceived}}
\index{onBlockReceived@{onBlockReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onBlockReceived()}{onBlockReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Block\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{block }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Block\+Received method to receive a string of characters that represents a single block of data of length determined by the block length value. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}\label{classcore_1_1TCPSession2_af1913cb444a9e07c0f31a2cd8d934a62}}
\index{core::TCPSession2@{core::TCPSession2}!onConnected@{onConnected}}
\index{onConnected@{onConnected}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onConnected()}{onConnected()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::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_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}\label{classcore_1_1TCPSession2_a67c473e1a22b10fc100ae54206f7471b}}
\index{core::TCPSession2@{core::TCPSession2}!onDataReceived@{onDataReceived}}
\index{onDataReceived@{onDataReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onDataReceived()}{onDataReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Data\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}
Override this method to receive data directly from the socket as data is received. If you need data split by line termination characters then override the on\+Line\+Received method instead.
Reimplemented from \mbox{\hyperlink{classcore_1_1Socket}{core\+::\+Socket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}\label{classcore_1_1TCPSession2_a6cd36b444d9548d1024190c6ba747e18}}
\index{core::TCPSession2@{core::TCPSession2}!onLineReceived@{onLineReceived}}
\index{onLineReceived@{onLineReceived}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{onLineReceived()}{onLineReceived()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::on\+Line\+Received (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}
Override the on\+Line\+Received method to receive a string of characters that represents a single line of data terminated by a LF or CRLF. If on\+Data\+Received was overriden this method will not be called unless the on\+Data\+Received calls this method explicitly using the class and member name. \mbox{\Hypertarget{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}\label{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}}
\index{core::TCPSession2@{core::TCPSession2}!output@{output}}
\index{output@{output}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{output()}{output()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::output (\begin{DoxyParamCaption}\item[{std\+::stringstream \&}]{out }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}
The output method is called by a socket session (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}) and will output the detail information for the client socket. When extending BMATCPSocket or BMASession you can override the method to add attributes to the list.
Reimplemented from \mbox{\hyperlink{classcore_1_1TCPSocket_afacf7528ff3c9ac077d7b5a49e2116fd}{core\+::\+TCPSocket}}.
\mbox{\Hypertarget{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}\label{classcore_1_1TCPSession2_a45df5db21355bf7d3585d68789b371ce}}
\index{core::TCPSession2@{core::TCPSession2}!protocol@{protocol}}
\index{protocol@{protocol}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{protocol()}{protocol()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::protocol (\begin{DoxyParamCaption}\item[{coreutils\+::\+ZString \&}]{data }\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.
When data is received within the session two modes are available to pass the data through the protocol method\+: LINE or BLOCK. \mbox{\Hypertarget{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}\label{classcore_1_1TCPSession2_aca2f7127b4081fa0e2d2d128083fb0f7}}
\index{core::TCPSession2@{core::TCPSession2}!send@{send}}
\index{send@{send}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{send()}{send()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::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_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}\label{classcore_1_1TCPSession2_a6f4ed04cd2848e5b903b8331b2e951c8}}
\index{core::TCPSession2@{core::TCPSession2}!setBlockSize@{setBlockSize}}
\index{setBlockSize@{setBlockSize}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{setBlockSize()}{setBlockSize()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::set\+Block\+Size (\begin{DoxyParamCaption}\item[{int}]{size = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}
Use set\+Block\+Size to set the amount of data that should be read at once from the session data buffer. If this value is set to 0 then the data will be retrieved \mbox{\Hypertarget{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}\label{classcore_1_1TCPSession2_a6b999e7ea6551a1b513ee057afaa9e4a}}
\index{core::TCPSession2@{core::TCPSession2}!terminate@{terminate}}
\index{terminate@{terminate}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{terminate()}{terminate()}}
{\footnotesize\ttfamily void core\+::\+TCPSession2\+::terminate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Use this method to terminate this \mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}\label{classcore_1_1TCPSession2_a6b8005e611b6007a00ad3288973a522d}}
\index{core::TCPSession2@{core::TCPSession2}!out@{out}}
\index{out@{out}!core::TCPSession2@{core::TCPSession2}}
\doxysubsubsection{\texorpdfstring{out}{out}}
{\footnotesize\ttfamily std\+::stringstream core\+::\+TCPSession2\+::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
TCPSession2.\+h\item
TCPSession2.\+cpp\end{DoxyCompactItemize}
@@ -0,0 +1 @@
fe64599d41e7ccac39d8893112bb841e
Binary file not shown.
@@ -0,0 +1 @@
de71d95381b2d963b0009617c90d96b4
Binary file not shown.
+1 -1
View File
@@ -61,7 +61,7 @@ For accessing TCP network functions use this object. The connection oriented nat
The output method is called by a socket session (\mbox{\hyperlink{classcore_1_1TCPSession}{TCPSession}}) and will output the detail information for the client socket. When extending BMATCPSocket or BMASession you can override the method to add attributes to the list.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+TLSSession}}, \mbox{\hyperlink{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}{core\+::\+TCPServer}}, and \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+TCPSession}}.
Reimplemented in \mbox{\hyperlink{classcore_1_1TLSSession_ae55de8a035d1ddc560cf619b2030af43}{core\+::\+TLSSession}}, \mbox{\hyperlink{classcore_1_1TCPServer_a49e3ead1bf4e7830685780e73c4db5db}{core\+::\+TCPServer}}, \mbox{\hyperlink{classcore_1_1TCPSession2_ae7648a7759570a00d3d4a8c169183291}{core\+::\+TCPSession2}}, and \mbox{\hyperlink{classcore_1_1TCPSession_a50037cbfc515650e04054e5481785981}{core\+::\+TCPSession}}.
@@ -1 +1 @@
5cc14ce538486df71a602b5b618d16e5
ac090ff3a3eea09b52baeca9fefa5670
Binary file not shown.
Binary file not shown.
+1
View File
@@ -36,6 +36,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically\+:\b
\item \contentsline{section}{core\+::Console\+Session}{\pageref{classcore_1_1ConsoleSession}}{}
\end{DoxyCompactList}
\end{DoxyCompactList}
\item \contentsline{section}{core\+::TCPSession2}{\pageref{classcore_1_1TCPSession2}}{}
\end{DoxyCompactList}
\item \contentsline{section}{core\+::Timer}{\pageref{classcore_1_1Timer}}{}
\item \contentsline{section}{core\+::UDPSocket}{\pageref{classcore_1_1UDPSocket}}{}
+1
View File
@@ -191,6 +191,7 @@
\input{classcore_1_1SubscriptionManager}
\input{classcore_1_1TCPServer}
\input{classcore_1_1TCPSession}
\input{classcore_1_1TCPSession2}
\input{classcore_1_1TCPSocket}
\input{classcore_1_1TerminalSession}
\input{classcore_1_1Thread}