\hypertarget{class_qore_1_1_socket_poll_operation}{}\doxysection{Qore\+::Socket\+Poll\+Operation Class Reference}
\label{class_qore_1_1_socket_poll_operation}\index{Qore::SocketPollOperation@{Qore::SocketPollOperation}}


\mbox{\hyperlink{class_qore_1_1_socket}{Socket}} poll operation object returned by \mbox{\hyperlink{class_qore_1_1_socket}{Socket}} polling methods.  




Inheritance diagram for Qore\+::Socket\+Poll\+Operation\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=248pt]{class_qore_1_1_socket_poll_operation__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_qore_1_1_socket_poll_operation_a6428c711758f1bf5a2113520e9ef959b}{constructor}} (\mbox{\hyperlink{class_qore_1_1_socket}{Socket}} socket, \mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}} goal, \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga0231dbb472dd230310af7c7c34f56e92}{hash}}$<$ auto $>$ opts)
\begin{DoxyCompactList}\small\item\em Creates the object with the given goal. \end{DoxyCompactList}\item 
\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga0231dbb472dd230310af7c7c34f56e92}{hash}}$<$ \mbox{\hyperlink{struct_qore_1_1_socket_poll_info}{Socket\+Poll\+Info}} $>$ \mbox{\hyperlink{class_qore_1_1_socket_poll_operation_af726bd4db537734995ded87eb10e9512}{continue\+Poll}} ()
\begin{DoxyCompactList}\small\item\em Returns a socket poll hash if polling should continue or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if complete. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_qore_1_1_socket_poll_operation_a83e3b9625e23a4db719309153daaaf8b}{copy}} ()
\begin{DoxyCompactList}\small\item\em Throws an exception; objects of this class cannot be copied. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_qore_1_1_socket_poll_operation_a5b08d28cb11502aa7ddab50332a05ab4}{destructor}} ()
\begin{DoxyCompactList}\small\item\em Destroys the object. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\mbox{\hyperlink{class_qore_1_1_socket}{Socket}} poll operation object returned by \mbox{\hyperlink{class_qore_1_1_socket}{Socket}} polling methods. 

This class implements the polling logic for Sockets and the state machine behind it

private members\+:
\begin{DoxyItemize}
\item \mbox{\hyperlink{class_qore_1_1_socket}{Socket}} sock\+: the \mbox{\hyperlink{class_qore_1_1_socket}{Socket}} being polled
\item \mbox{\hyperlink{data_type_declarations_string_type}{string}} goal\+: the goal of the poll operation
\end{DoxyItemize}

\begin{DoxySince}{Since}
Qore 1.\+12 
\end{DoxySince}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_qore_1_1_socket_poll_operation_a6428c711758f1bf5a2113520e9ef959b}\label{class_qore_1_1_socket_poll_operation_a6428c711758f1bf5a2113520e9ef959b}} 
\index{Qore::SocketPollOperation@{Qore::SocketPollOperation}!constructor@{constructor}}
\index{constructor@{constructor}!Qore::SocketPollOperation@{Qore::SocketPollOperation}}
\doxysubsubsection{\texorpdfstring{constructor()}{constructor()}}
{\footnotesize\ttfamily Qore\+::\+Socket\+Poll\+Operation\+::constructor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_qore_1_1_socket}{Socket}}}]{socket,  }\item[{\mbox{\hyperlink{group__type__conversion__functions_gacf16b4126b795f4b6933ef3425cadae3}{string}}}]{goal,  }\item[{\+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga0231dbb472dd230310af7c7c34f56e92}{hash}}$<$ auto $>$}]{opts }\end{DoxyParamCaption})}



Creates the object with the given goal. 


\begin{DoxyParams}{Parameters}
{\em socket} & the \mbox{\hyperlink{class_qore_1_1_socket}{Socket}} object to poll \\
\hline
{\em goal} & the type of goal; currently one of\+:
\begin{DoxyItemize}
\item {\ttfamily connect} 
\item {\ttfamily connect-\/ssl} 
\end{DoxyItemize}\\
\hline
{\em opts} & required keys depend on {\itshape goal} 
\begin{DoxyItemize}
\item for {\itshape goal\+\_\+type} {\ttfamily connect} and {\ttfamily connect-\/ssl}\+:
\begin{DoxyItemize}
\item {\ttfamily url} (string)\+: the URL to connect to
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em INVALID-\/\+GOAL} & thrown if the goal is invalid \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{class_qore_1_1_socket_poll_operation_af726bd4db537734995ded87eb10e9512}\label{class_qore_1_1_socket_poll_operation_af726bd4db537734995ded87eb10e9512}} 
\index{Qore::SocketPollOperation@{Qore::SocketPollOperation}!continuePoll@{continuePoll}}
\index{continuePoll@{continuePoll}!Qore::SocketPollOperation@{Qore::SocketPollOperation}}
\doxysubsubsection{\texorpdfstring{continuePoll()}{continuePoll()}}
{\footnotesize\ttfamily \+\_\+\+\_\+7\+\_\+ \mbox{\hyperlink{group__type__conversion__functions_ga0231dbb472dd230310af7c7c34f56e92}{hash}}$<$\mbox{\hyperlink{struct_qore_1_1_socket_poll_info}{Socket\+Poll\+Info}}$>$ Qore\+::\+Socket\+Poll\+Operation\+::continue\+Poll (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Returns a socket poll hash if polling should continue or \mbox{\hyperlink{basic_data_types_nothing}{NOTHING}} if complete. 

\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{basic_data_types_NOTHING}{NOTHING}} if there is no more to poll and the poll operation was successful (i.\+e. the goal was reached), otherwise this method must return a new socket poll hash to continue the polling operation with another operation, after which this method will be called again if a matching event is received for the socket. If a socket poll hash is returned, then the internal state is also updated. 
\end{DoxyReturn}


Implements \mbox{\hyperlink{class_qore_1_1_abstract_poll_operation_a96297a6bf91c4f3a30d3534b1ea9c6c6}{Qore\+::\+Abstract\+Poll\+Operation}}.

\mbox{\Hypertarget{class_qore_1_1_socket_poll_operation_a83e3b9625e23a4db719309153daaaf8b}\label{class_qore_1_1_socket_poll_operation_a83e3b9625e23a4db719309153daaaf8b}} 
\index{Qore::SocketPollOperation@{Qore::SocketPollOperation}!copy@{copy}}
\index{copy@{copy}!Qore::SocketPollOperation@{Qore::SocketPollOperation}}
\doxysubsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily Qore\+::\+Socket\+Poll\+Operation\+::copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Throws an exception; objects of this class cannot be copied. 


\begin{DoxyExceptions}{Exceptions}
{\em SOCKETPOLLOPERATION-\/\+COPY-\/\+ERROR} & objects of this class cannot be copied \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{class_qore_1_1_socket_poll_operation_a5b08d28cb11502aa7ddab50332a05ab4}\label{class_qore_1_1_socket_poll_operation_a5b08d28cb11502aa7ddab50332a05ab4}} 
\index{Qore::SocketPollOperation@{Qore::SocketPollOperation}!destructor@{destructor}}
\index{destructor@{destructor}!Qore::SocketPollOperation@{Qore::SocketPollOperation}}
\doxysubsubsection{\texorpdfstring{destructor()}{destructor()}}
{\footnotesize\ttfamily Qore\+::\+Socket\+Poll\+Operation\+::destructor (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destroys the object. 

Destroys the object 