\doxysection{rtr\+\_\+socket Struct Reference}
\hypertarget{structrtr__socket}{}\label{structrtr__socket}\index{rtr\_socket@{rtr\_socket}}


A RTR socket.  




{\ttfamily \#include $<$rtr.\+h$>$}

\doxysubsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structtr__socket}{tr\+\_\+socket}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_a3fa0ec4fcbcb7d112f83a72d49daaff1}{tr\+\_\+socket}}
\item 
unsigned int \mbox{\hyperlink{structrtr__socket_a4682322c1db1147db9a87656831ae939}{refresh\+\_\+interval}}
\item 
time\+\_\+t \mbox{\hyperlink{structrtr__socket_ac524c934f0973530f1fec958a678ff54}{last\+\_\+update}}
\item 
unsigned int \mbox{\hyperlink{structrtr__socket_a1f080ad28c4637bd21c209931d57efba}{expire\+\_\+interval}}
\item 
unsigned int \mbox{\hyperlink{structrtr__socket_a29099c7ef2dfaeb6258fa53bb58c99f7}{retry\+\_\+interval}}
\item 
enum \mbox{\hyperlink{group__mod__rtr__h_ga31b1bb66cb95ac21f7108440e7506b38}{rtr\+\_\+interval\+\_\+mode}} \mbox{\hyperlink{structrtr__socket_ac7e3f5798868bc993ede909e589b26a1}{iv\+\_\+mode}}
\item 
enum \mbox{\hyperlink{group__mod__rtr__h_ga62bcc901355906dd300e2b62c9278cbc}{rtr\+\_\+socket\+\_\+state}} \mbox{\hyperlink{structrtr__socket_aae92959de164b904eaa9a38af92d12b8}{state}}
\item 
uint32\+\_\+t \mbox{\hyperlink{structrtr__socket_a04e0a6a8d3f1a78aded9e29490db1321}{session\+\_\+id}}
\item 
bool \mbox{\hyperlink{structrtr__socket_aba2d0c4f1c394a6a0c946eca41e9d8f7}{request\+\_\+session\+\_\+id}}
\item 
uint32\+\_\+t \mbox{\hyperlink{structrtr__socket_a722e687714a2af098a4c1fdad1a90583}{serial\+\_\+number}}
\item 
struct \mbox{\hyperlink{structpfx__table}{pfx\+\_\+table}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_af59c25c4f04df2610b38c91933da0feb}{pfx\+\_\+table}}
\item 
pthread\+\_\+t \mbox{\hyperlink{structrtr__socket_af73cf58f27f0e1451378a9ae2c019db7}{thread\+\_\+id}}
\item 
\mbox{\hyperlink{group__mod__rtr__h_ga71ec6263b63ee7fa9d1758b43a67dad8}{rtr\+\_\+connection\+\_\+state\+\_\+fp}} \mbox{\hyperlink{structrtr__socket_a20f89765b0a531cb1431274acbcff101}{connection\+\_\+state\+\_\+fp}}
\item 
void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_a37c2e770b4a63d7844bc455aa620b514}{connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+config}}
\item 
void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_a5a3cd8a469d462aafea8e65debf4d1b9}{connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+group}}
\item 
unsigned int \mbox{\hyperlink{structrtr__socket_a12bfdd21d02cc91922b8fc83f25fc6ac}{version}}
\item 
bool \mbox{\hyperlink{structrtr__socket_adf61ad147b7bffc096d8de0b04326237}{has\+\_\+received\+\_\+pdus}}
\item 
struct \mbox{\hyperlink{structspki__table}{spki\+\_\+table}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_a4bc9898ede7d5ea003a4b32511de111e}{spki\+\_\+table}}
\item 
struct \mbox{\hyperlink{structaspa__table}{aspa\+\_\+table}} \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{structrtr__socket_a1216765f0f65a07d98ac0049332b3197}{aspa\+\_\+table}}
\item 
bool \mbox{\hyperlink{structrtr__socket_a98205287e43550abf54d35b21545a15f}{is\+\_\+resetting}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
A RTR socket. 


\begin{DoxyParams}{Parameters}
{\em \doxylink{structtr__socket}{tr\+\_\+socket}} & Pointer to an initialized \doxylink{structtr__socket}{tr\+\_\+socket} that will be used to communicate with the RTR server. \\
\hline
{\em refresh\+\_\+interval} & Time period in seconds. Tells the router how long to wait before next attempting to poll the cache, using a Serial Query or Reset Query PDU. \\
\hline
{\em last\+\_\+update} & Timestamp of the last validation record update. Is 0 if the \doxylink{structpfx__table}{pfx\+\_\+table} doesn\textquotesingle{}t store any validation records from this \doxylink{structrtr__socket}{rtr\+\_\+socket}. \\
\hline
{\em expire\+\_\+interval} & Time period in seconds. Received records are deleted if the client was unable to refresh data for this time period. If 0 is specified, the expire\+\_\+interval is twice the refresh\+\_\+interval. \\
\hline
{\em retry\+\_\+interval} & Time period in seconds between a failed query and the next attempt. \\
\hline
{\em iv\+\_\+mode} & Defines handling of incoming intervals. \\
\hline
{\em state} & Current state of the socket. \\
\hline
{\em session\+\_\+id} & session\+\_\+id of the RTR session. \\
\hline
{\em request\+\_\+session\+\_\+id} & True, if the rtr\+\_\+client have to request a new none from the server. \\
\hline
{\em serial\+\_\+number} & Last serial number of the obtained validation records. \\
\hline
{\em \doxylink{structpfx__table}{pfx\+\_\+table}} & \doxylink{structpfx__table}{pfx\+\_\+table} that stores the validation records obtained from the connected rtr server. \\
\hline
{\em thread\+\_\+id} & Handle of the thread this socket is running in. \\
\hline
{\em connection\+\_\+state\+\_\+fp} & A callback function that is executed when the state of the socket changes. \\
\hline
{\em connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+config} & Parameter that is passed to the connection\+\_\+state\+\_\+fp callback. Expects a pointer to a \doxylink{structrtr__mgr__config}{rtr\+\_\+mgr\+\_\+config} struct. \\
\hline
{\em connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+group} & Parameter that is passed to the connection\+\_\+state\+\_\+fp callback. Expects a pointer to the \doxylink{structrtr__mgr__group}{rtr\+\_\+mgr\+\_\+group} this socket belongs to. \\
\hline
{\em version} & Protocol version used by this socket \\
\hline
{\em has\+\_\+received\+\_\+pdus} & True, if this socket has already received PDUs \\
\hline
{\em \doxylink{structspki__table}{spki\+\_\+table}} & \doxylink{structspki__table}{spki\+\_\+table} that stores the router keys obtained from the connected rtr server \\
\hline
{\em \doxylink{structaspa__table}{aspa\+\_\+table}} & \doxylink{structspki__table}{spki\+\_\+table} that stores the ASPA records obtained from the connected rtr server \\
\hline
\end{DoxyParams}


\doxysubsection{Field Documentation}
\Hypertarget{structrtr__socket_a1216765f0f65a07d98ac0049332b3197}\label{structrtr__socket_a1216765f0f65a07d98ac0049332b3197} 
\index{rtr\_socket@{rtr\_socket}!aspa\_table@{aspa\_table}}
\index{aspa\_table@{aspa\_table}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{aspa\_table}{aspa\_table}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structaspa__table}{aspa\+\_\+table}}\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::aspa\+\_\+table}

\Hypertarget{structrtr__socket_a20f89765b0a531cb1431274acbcff101}\label{structrtr__socket_a20f89765b0a531cb1431274acbcff101} 
\index{rtr\_socket@{rtr\_socket}!connection\_state\_fp@{connection\_state\_fp}}
\index{connection\_state\_fp@{connection\_state\_fp}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{connection\_state\_fp}{connection\_state\_fp}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__mod__rtr__h_ga71ec6263b63ee7fa9d1758b43a67dad8}{rtr\+\_\+connection\+\_\+state\+\_\+fp}} rtr\+\_\+socket\+::connection\+\_\+state\+\_\+fp}

\Hypertarget{structrtr__socket_a37c2e770b4a63d7844bc455aa620b514}\label{structrtr__socket_a37c2e770b4a63d7844bc455aa620b514} 
\index{rtr\_socket@{rtr\_socket}!connection\_state\_fp\_param\_config@{connection\_state\_fp\_param\_config}}
\index{connection\_state\_fp\_param\_config@{connection\_state\_fp\_param\_config}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{connection\_state\_fp\_param\_config}{connection\_state\_fp\_param\_config}}
{\footnotesize\ttfamily void\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+config}

\Hypertarget{structrtr__socket_a5a3cd8a469d462aafea8e65debf4d1b9}\label{structrtr__socket_a5a3cd8a469d462aafea8e65debf4d1b9} 
\index{rtr\_socket@{rtr\_socket}!connection\_state\_fp\_param\_group@{connection\_state\_fp\_param\_group}}
\index{connection\_state\_fp\_param\_group@{connection\_state\_fp\_param\_group}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{connection\_state\_fp\_param\_group}{connection\_state\_fp\_param\_group}}
{\footnotesize\ttfamily void\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::connection\+\_\+state\+\_\+fp\+\_\+param\+\_\+group}

\Hypertarget{structrtr__socket_a1f080ad28c4637bd21c209931d57efba}\label{structrtr__socket_a1f080ad28c4637bd21c209931d57efba} 
\index{rtr\_socket@{rtr\_socket}!expire\_interval@{expire\_interval}}
\index{expire\_interval@{expire\_interval}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{expire\_interval}{expire\_interval}}
{\footnotesize\ttfamily unsigned int rtr\+\_\+socket\+::expire\+\_\+interval}

\Hypertarget{structrtr__socket_adf61ad147b7bffc096d8de0b04326237}\label{structrtr__socket_adf61ad147b7bffc096d8de0b04326237} 
\index{rtr\_socket@{rtr\_socket}!has\_received\_pdus@{has\_received\_pdus}}
\index{has\_received\_pdus@{has\_received\_pdus}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{has\_received\_pdus}{has\_received\_pdus}}
{\footnotesize\ttfamily bool rtr\+\_\+socket\+::has\+\_\+received\+\_\+pdus}

\Hypertarget{structrtr__socket_a98205287e43550abf54d35b21545a15f}\label{structrtr__socket_a98205287e43550abf54d35b21545a15f} 
\index{rtr\_socket@{rtr\_socket}!is\_resetting@{is\_resetting}}
\index{is\_resetting@{is\_resetting}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{is\_resetting}{is\_resetting}}
{\footnotesize\ttfamily bool rtr\+\_\+socket\+::is\+\_\+resetting}

\Hypertarget{structrtr__socket_ac7e3f5798868bc993ede909e589b26a1}\label{structrtr__socket_ac7e3f5798868bc993ede909e589b26a1} 
\index{rtr\_socket@{rtr\_socket}!iv\_mode@{iv\_mode}}
\index{iv\_mode@{iv\_mode}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{iv\_mode}{iv\_mode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__mod__rtr__h_ga31b1bb66cb95ac21f7108440e7506b38}{rtr\+\_\+interval\+\_\+mode}} rtr\+\_\+socket\+::iv\+\_\+mode}

\Hypertarget{structrtr__socket_ac524c934f0973530f1fec958a678ff54}\label{structrtr__socket_ac524c934f0973530f1fec958a678ff54} 
\index{rtr\_socket@{rtr\_socket}!last\_update@{last\_update}}
\index{last\_update@{last\_update}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{last\_update}{last\_update}}
{\footnotesize\ttfamily time\+\_\+t rtr\+\_\+socket\+::last\+\_\+update}

\Hypertarget{structrtr__socket_af59c25c4f04df2610b38c91933da0feb}\label{structrtr__socket_af59c25c4f04df2610b38c91933da0feb} 
\index{rtr\_socket@{rtr\_socket}!pfx\_table@{pfx\_table}}
\index{pfx\_table@{pfx\_table}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{pfx\_table}{pfx\_table}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structpfx__table}{pfx\+\_\+table}}\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::pfx\+\_\+table}

\Hypertarget{structrtr__socket_a4682322c1db1147db9a87656831ae939}\label{structrtr__socket_a4682322c1db1147db9a87656831ae939} 
\index{rtr\_socket@{rtr\_socket}!refresh\_interval@{refresh\_interval}}
\index{refresh\_interval@{refresh\_interval}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{refresh\_interval}{refresh\_interval}}
{\footnotesize\ttfamily unsigned int rtr\+\_\+socket\+::refresh\+\_\+interval}

\Hypertarget{structrtr__socket_aba2d0c4f1c394a6a0c946eca41e9d8f7}\label{structrtr__socket_aba2d0c4f1c394a6a0c946eca41e9d8f7} 
\index{rtr\_socket@{rtr\_socket}!request\_session\_id@{request\_session\_id}}
\index{request\_session\_id@{request\_session\_id}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{request\_session\_id}{request\_session\_id}}
{\footnotesize\ttfamily bool rtr\+\_\+socket\+::request\+\_\+session\+\_\+id}

\Hypertarget{structrtr__socket_a29099c7ef2dfaeb6258fa53bb58c99f7}\label{structrtr__socket_a29099c7ef2dfaeb6258fa53bb58c99f7} 
\index{rtr\_socket@{rtr\_socket}!retry\_interval@{retry\_interval}}
\index{retry\_interval@{retry\_interval}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{retry\_interval}{retry\_interval}}
{\footnotesize\ttfamily unsigned int rtr\+\_\+socket\+::retry\+\_\+interval}

\Hypertarget{structrtr__socket_a722e687714a2af098a4c1fdad1a90583}\label{structrtr__socket_a722e687714a2af098a4c1fdad1a90583} 
\index{rtr\_socket@{rtr\_socket}!serial\_number@{serial\_number}}
\index{serial\_number@{serial\_number}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{serial\_number}{serial\_number}}
{\footnotesize\ttfamily uint32\+\_\+t rtr\+\_\+socket\+::serial\+\_\+number}

\Hypertarget{structrtr__socket_a04e0a6a8d3f1a78aded9e29490db1321}\label{structrtr__socket_a04e0a6a8d3f1a78aded9e29490db1321} 
\index{rtr\_socket@{rtr\_socket}!session\_id@{session\_id}}
\index{session\_id@{session\_id}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{session\_id}{session\_id}}
{\footnotesize\ttfamily uint32\+\_\+t rtr\+\_\+socket\+::session\+\_\+id}

\Hypertarget{structrtr__socket_a4bc9898ede7d5ea003a4b32511de111e}\label{structrtr__socket_a4bc9898ede7d5ea003a4b32511de111e} 
\index{rtr\_socket@{rtr\_socket}!spki\_table@{spki\_table}}
\index{spki\_table@{spki\_table}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{spki\_table}{spki\_table}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structspki__table}{spki\+\_\+table}}\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::spki\+\_\+table}

\Hypertarget{structrtr__socket_aae92959de164b904eaa9a38af92d12b8}\label{structrtr__socket_aae92959de164b904eaa9a38af92d12b8} 
\index{rtr\_socket@{rtr\_socket}!state@{state}}
\index{state@{state}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{state}{state}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{group__mod__rtr__h_ga62bcc901355906dd300e2b62c9278cbc}{rtr\+\_\+socket\+\_\+state}} rtr\+\_\+socket\+::state}

\Hypertarget{structrtr__socket_af73cf58f27f0e1451378a9ae2c019db7}\label{structrtr__socket_af73cf58f27f0e1451378a9ae2c019db7} 
\index{rtr\_socket@{rtr\_socket}!thread\_id@{thread\_id}}
\index{thread\_id@{thread\_id}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{thread\_id}{thread\_id}}
{\footnotesize\ttfamily pthread\+\_\+t rtr\+\_\+socket\+::thread\+\_\+id}

\Hypertarget{structrtr__socket_a3fa0ec4fcbcb7d112f83a72d49daaff1}\label{structrtr__socket_a3fa0ec4fcbcb7d112f83a72d49daaff1} 
\index{rtr\_socket@{rtr\_socket}!tr\_socket@{tr\_socket}}
\index{tr\_socket@{tr\_socket}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{tr\_socket}{tr\_socket}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structtr__socket}{tr\+\_\+socket}}\texorpdfstring{$\ast$}{*} rtr\+\_\+socket\+::tr\+\_\+socket}

\Hypertarget{structrtr__socket_a12bfdd21d02cc91922b8fc83f25fc6ac}\label{structrtr__socket_a12bfdd21d02cc91922b8fc83f25fc6ac} 
\index{rtr\_socket@{rtr\_socket}!version@{version}}
\index{version@{version}!rtr\_socket@{rtr\_socket}}
\doxysubsubsection{\texorpdfstring{version}{version}}
{\footnotesize\ttfamily unsigned int rtr\+\_\+socket\+::version}



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
rtrlib/rtr/\mbox{\hyperlink{rtr_8h}{rtr.\+h}}\end{DoxyCompactItemize}
