\doxysection{com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener Interface Reference}
\hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener}{}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener}\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}


Interface to be implemented in order to be notified about the important changes of state of the server.  


\doxysubsubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{enumcom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_1_1ErrorDetail}{Error\+Detail}}
\begin{DoxyCompactList}\small\item\em All different reason for error, used when notifying the listener about an error (on\+Server\+Error). \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a2507f01ba81e80a6f5a2c572c3f89671}{on\+Server\+Not\+Ready}} ()
\begin{DoxyCompactList}\small\item\em Server is not ready to listen yet, it is missing some data. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a8c0e37e72955f627181ae522c28bc552}{on\+Server\+Ready}} ()
\begin{DoxyCompactList}\small\item\em Server is ready to listen, all required data has been received. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_ae70383a56f0b80305f141f4c21da942d}{on\+Server\+Listening}} ()
\begin{DoxyCompactList}\small\item\em Server started to listen for incoming connections. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a224080b3c896b2202c8f2fee7e4c9c13}{on\+Server\+Connected}} ()
\begin{DoxyCompactList}\small\item\em Server accepted a connection and is streaming. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a582238a02aec770c98621872a32a052b}{on\+Server\+Stopping}} ()
\begin{DoxyCompactList}\small\item\em Server started to stop. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a26cca8e36d197c7535e6b717525f3ac9}{on\+Server\+Error}} ()
\begin{DoxyCompactList}\small\item\em Server encountered an unrecoverable error. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Interface to be implemented in order to be notified about the important changes of state of the server. 

Calls to this listener may come from any thread, so thread safety should be considered when designing the implementation. 

\doxysubsection{Member Function Documentation}
\Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a224080b3c896b2202c8f2fee7e4c9c13}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a224080b3c896b2202c8f2fee7e4c9c13} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerConnected@{onServerConnected}}
\index{onServerConnected@{onServerConnected}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerConnected()}{onServerConnected()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Connected (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server accepted a connection and is streaming. 

Its internal state is State.\+CONNECTED. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a26cca8e36d197c7535e6b717525f3ac9}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a26cca8e36d197c7535e6b717525f3ac9} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerError@{onServerError}}
\index{onServerError@{onServerError}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerError()}{onServerError()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Error (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server encountered an unrecoverable error. 

It has been disconnected and its internal state is State.\+ERROR. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_ae70383a56f0b80305f141f4c21da942d}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_ae70383a56f0b80305f141f4c21da942d} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerListening@{onServerListening}}
\index{onServerListening@{onServerListening}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerListening()}{onServerListening()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Listening (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server started to listen for incoming connections. 

Its internal state is State.\+LISTENING. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a2507f01ba81e80a6f5a2c572c3f89671}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a2507f01ba81e80a6f5a2c572c3f89671} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerNotReady@{onServerNotReady}}
\index{onServerNotReady@{onServerNotReady}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerNotReady()}{onServerNotReady()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Not\+Ready (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server is not ready to listen yet, it is missing some data. 

This happens when a new Data Provider is set and this provider is not ready yet. Its internal state is State.\+NOTREADY. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a8c0e37e72955f627181ae522c28bc552}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a8c0e37e72955f627181ae522c28bc552} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerReady@{onServerReady}}
\index{onServerReady@{onServerReady}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerReady()}{onServerReady()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Ready (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server is ready to listen, all required data has been received. 

When a server disconnects, it returns to the Ready state. Its internal state is State.\+READY. \Hypertarget{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a582238a02aec770c98621872a32a052b}\label{interfacecom_1_1tritondigital_1_1net_1_1streaming_1_1proxy_1_1server_1_1Server_1_1StateChangedListener_a582238a02aec770c98621872a32a052b} 
\index{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}!onServerStopping@{onServerStopping}}
\index{onServerStopping@{onServerStopping}!com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener@{com.tritondigital.net.streaming.proxy.server.Server.StateChangedListener}}
\doxysubsubsection{\texorpdfstring{onServerStopping()}{onServerStopping()}}
{\footnotesize\ttfamily void com.\+tritondigital.\+net.\+streaming.\+proxy.\+server.\+Server.\+State\+Changed\+Listener.\+on\+Server\+Stopping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Server started to stop. 

It disconnected and is waiting for the disconnected callback. Its internal state is State.\+STOPPING. 

The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
streamingproxy/src/main/java/com/tritondigital/net/streaming/proxy/server/Server.\+java\end{DoxyCompactItemize}
