\hypertarget{classcore_1_1_u_d_p_server_socket}{}\doxysection{core\+::U\+D\+P\+Server\+Socket Class Reference}
\label{classcore_1_1_u_d_p_server_socket}\index{core::UDPServerSocket@{core::UDPServerSocket}}


{\ttfamily \#include $<$U\+D\+P\+Server\+Socket.\+h$>$}



Inheritance diagram for core\+::U\+D\+P\+Server\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=290pt]{classcore_1_1_u_d_p_server_socket__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for core\+::U\+D\+P\+Server\+Socket\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=255pt]{classcore_1_1_u_d_p_server_socket__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classcore_1_1_u_d_p_server_socket_a6fee7bc6dc2f94d48734c07cbc918734}{U\+D\+P\+Server\+Socket}} (\mbox{\hyperlink{classcore_1_1_e_poll}{E\+Poll}} \&\mbox{\hyperlink{classcore_1_1_socket_a3b0b139ac7da581f0d969f6ae9a0c97c}{e\+Poll}}, std\+::string url, short int port, std\+::string command\+Name)
\item 
\mbox{\hyperlink{classcore_1_1_u_d_p_server_socket_ab1c3be016ffdc9c95ffe7eef1d494710}{$\sim$\+U\+D\+P\+Server\+Socket}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}{on\+Data\+Received}} (std\+::string data) override
\begin{DoxyCompactList}\small\item\em Called when data is received from the socket. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classcore_1_1_u_d_p_server_socket_aef32dee99a40a8951a708e99776539d4}{process\+Command}} (std\+::string request, std\+::stringstream \&data)
\end{DoxyCompactItemize}
\doxysubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ Session $\ast$ $>$ \mbox{\hyperlink{classcore_1_1_u_d_p_server_socket_a83362532c66271699c4e60d1da2a41bc}{sessions}}
\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{classcore_1_1_u_d_p_socket}{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. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a6fee7bc6dc2f94d48734c07cbc918734}\label{classcore_1_1_u_d_p_server_socket_a6fee7bc6dc2f94d48734c07cbc918734}} 
\index{core::UDPServerSocket@{core::UDPServerSocket}!UDPServerSocket@{UDPServerSocket}}
\index{UDPServerSocket@{UDPServerSocket}!core::UDPServerSocket@{core::UDPServerSocket}}
\doxysubsubsection{\texorpdfstring{UDPServerSocket()}{UDPServerSocket()}}
{\footnotesize\ttfamily core\+::\+U\+D\+P\+Server\+Socket\+::\+U\+D\+P\+Server\+Socket (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classcore_1_1_e_poll}{E\+Poll}} \&}]{e\+Poll,  }\item[{std\+::string}]{url,  }\item[{short int}]{port,  }\item[{std\+::string}]{command\+Name }\end{DoxyParamCaption})}

\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_ab1c3be016ffdc9c95ffe7eef1d494710}\label{classcore_1_1_u_d_p_server_socket_ab1c3be016ffdc9c95ffe7eef1d494710}} 
\index{core::UDPServerSocket@{core::UDPServerSocket}!````~UDPServerSocket@{$\sim$UDPServerSocket}}
\index{````~UDPServerSocket@{$\sim$UDPServerSocket}!core::UDPServerSocket@{core::UDPServerSocket}}
\doxysubsubsection{\texorpdfstring{$\sim$UDPServerSocket()}{~UDPServerSocket()}}
{\footnotesize\ttfamily core\+::\+U\+D\+P\+Server\+Socket\+::$\sim$\+U\+D\+P\+Server\+Socket (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}\label{classcore_1_1_u_d_p_server_socket_a41933ca153c854a800e3d047ab18313e}} 
\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]}}



Called when data is received from the socket. 

The on\+Connected method is called when the socket is ready to communicate. Writing to the socket can begin on this call to initiate a contact with the remote device. The on\+Data\+Received method is called when the socket has received an event from epoll and there is data ready to be read from the socket. The default handler will pull the data and put it into the streambuf for the socket. E\+P\+O\+L\+L\+IN


\begin{DoxyParams}{Parameters}
{\em data} & the data that has been received from the socket. \\
\hline
\end{DoxyParams}


Reimplemented from \mbox{\hyperlink{classcore_1_1_socket_ac8d6a2c54696eb6fc2024cf6bcf6b4e5}{core\+::\+Socket}}.

\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_aef32dee99a40a8951a708e99776539d4}\label{classcore_1_1_u_d_p_server_socket_aef32dee99a40a8951a708e99776539d4}} 
\index{core::UDPServerSocket@{core::UDPServerSocket}!processCommand@{processCommand}}
\index{processCommand@{processCommand}!core::UDPServerSocket@{core::UDPServerSocket}}
\doxysubsubsection{\texorpdfstring{processCommand()}{processCommand()}}
{\footnotesize\ttfamily int core\+::\+U\+D\+P\+Server\+Socket\+::process\+Command (\begin{DoxyParamCaption}\item[{std\+::string}]{request,  }\item[{std\+::stringstream \&}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classcore_1_1_u_d_p_server_socket_a83362532c66271699c4e60d1da2a41bc}\label{classcore_1_1_u_d_p_server_socket_a83362532c66271699c4e60d1da2a41bc}} 
\index{core::UDPServerSocket@{core::UDPServerSocket}!sessions@{sessions}}
\index{sessions@{sessions}!core::UDPServerSocket@{core::UDPServerSocket}}
\doxysubsubsection{\texorpdfstring{sessions}{sessions}}
{\footnotesize\ttfamily std\+::vector$<$Session $\ast$$>$ core\+::\+U\+D\+P\+Server\+Socket\+::sessions\hspace{0.3cm}{\ttfamily [protected]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_u_d_p_server_socket_8h}{U\+D\+P\+Server\+Socket.\+h}}\item 
\mbox{\hyperlink{_u_d_p_server_socket_8cpp}{U\+D\+P\+Server\+Socket.\+cpp}}\end{DoxyCompactItemize}
