\hypertarget{classSocket}{
\section{Socket Class Reference}
\label{classSocket}\index{Socket@{Socket}}
}
Inheritance diagram for Socket:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classSocket}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSocket_a8e05c046c39827db3db67abbaea41081}{
{\bfseries Socket} (const \hyperlink{classIptuple}{Iptuple} \&iptuple, \hyperlink{classEventLoop}{EventLoop} \&e)}
\label{classSocket_a8e05c046c39827db3db67abbaea41081}

\item 
\hypertarget{classSocket_a79b224983ba10f3a99a758df18491445}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} ()}
\label{classSocket_a79b224983ba10f3a99a758df18491445}

\item 
\hypertarget{classSocket_af529c00e5a0cd4a4c324300cbda3a802}{
\hyperlink{classXorpFd}{XorpFd} {\bfseries get\_\-sock} ()}
\label{classSocket_af529c00e5a0cd4a4c324300cbda3a802}

\item 
\hypertarget{classSocket_afb6f304ff707095ae69c7ebc7684c98c}{
void {\bfseries create\_\-listener} ()}
\label{classSocket_afb6f304ff707095ae69c7ebc7684c98c}

\item 
\hypertarget{classSocket_a8dd4c22827b8fd62e4dfa13b029cd24c}{
void {\bfseries set\_\-remote\_\-host} (const char $\ast$s)}
\label{classSocket_a8dd4c22827b8fd62e4dfa13b029cd24c}

\item 
\hypertarget{classSocket_a3bb899e28b8da558db38f1edfdf18de6}{
const char $\ast$ {\bfseries get\_\-remote\_\-host} ()}
\label{classSocket_a3bb899e28b8da558db38f1edfdf18de6}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{classSocket_a0bbbce7337d2151f0ff1d3ab99a00c77}{init\_\-sockaddr} (string addr, uint16\_\-t local\_\-port, struct sockaddr\_\-storage \&ss, size\_\-t \&len)
\begin{DoxyCompactList}\small\item\em Given an address (\hyperlink{classIPv4}{IPv4} or \hyperlink{classIPv6}{IPv6}) symbolic or numeric fill in \hyperlink{protocolthe-p}{the} provided structure. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSocket_ac8a50ed4e9bf8bc484bbd4e20943b5a6}{
static const int {\bfseries MAX\_\-LISTEN\_\-QUEUE} = 5}
\label{classSocket_ac8a50ed4e9bf8bc484bbd4e20943b5a6}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSocket_a843768fc861edb8697b873f260c07048}{
void {\bfseries set\_\-sock} (\hyperlink{classXorpFd}{XorpFd} s)}
\label{classSocket_a843768fc861edb8697b873f260c07048}

\item 
\hypertarget{classSocket_aec851b919aacc4d46692417fe3fde916}{
void {\bfseries close\_\-socket} ()}
\label{classSocket_aec851b919aacc4d46692417fe3fde916}

\item 
\hypertarget{classSocket_ab9f19ee955595f7570d961286f573cb4}{
void {\bfseries create\_\-socket} (const struct sockaddr $\ast$sin, int is\_\-blocking)}
\label{classSocket_ab9f19ee955595f7570d961286f573cb4}

\item 
\hypertarget{classSocket_ac62805b7dbdfc08d46c3efea9707ce31}{
struct sockaddr $\ast$ {\bfseries get\_\-local\_\-socket} (size\_\-t \&len)}
\label{classSocket_ac62805b7dbdfc08d46c3efea9707ce31}

\item 
\hypertarget{classSocket_af38553c5153bc6c2e140d99b2edd457e}{
const string \& {\bfseries get\_\-local\_\-interface} () const }
\label{classSocket_af38553c5153bc6c2e140d99b2edd457e}

\item 
\hypertarget{classSocket_a0f4bf6922e064df5d84332c0f15fbae7}{
string {\bfseries get\_\-local\_\-addr} ()}
\label{classSocket_a0f4bf6922e064df5d84332c0f15fbae7}

\item 
\hypertarget{classSocket_acf0caa0fba9198a14e79a1f75972cd5a}{
uint16\_\-t {\bfseries get\_\-local\_\-port} ()}
\label{classSocket_acf0caa0fba9198a14e79a1f75972cd5a}

\item 
\hypertarget{classSocket_adb2e1855030d158c7f10c6ecf80d24d4}{
struct sockaddr $\ast$ {\bfseries get\_\-bind\_\-socket} (size\_\-t \&len)}
\label{classSocket_adb2e1855030d158c7f10c6ecf80d24d4}

\item 
\hypertarget{classSocket_a9592e78eea8f5418f86897f015dd699d}{
struct sockaddr $\ast$ {\bfseries get\_\-remote\_\-socket} (size\_\-t \&len)}
\label{classSocket_a9592e78eea8f5418f86897f015dd699d}

\item 
\hypertarget{classSocket_af80473204b31ad687e49986d9a84e005}{
string {\bfseries get\_\-remote\_\-addr} ()}
\label{classSocket_af80473204b31ad687e49986d9a84e005}

\item 
\hypertarget{classSocket_ad9e74d2f0a37fcbb6f4b1322b5c965a5}{
uint16\_\-t {\bfseries get\_\-remote\_\-port} ()}
\label{classSocket_ad9e74d2f0a37fcbb6f4b1322b5c965a5}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classSocket_af040603406f54928a70323f0909404e8}{
\hyperlink{classXorpFd}{XorpFd} {\bfseries \_\-s}}
\label{classSocket_af040603406f54928a70323f0909404e8}

\item 
\hypertarget{classSocket_aef54fec4cc04e7dbc02647d39b7808a3}{
const \hyperlink{classIptuple}{Iptuple} {\bfseries \_\-iptuple}}
\label{classSocket_aef54fec4cc04e7dbc02647d39b7808a3}

\item 
\hypertarget{classSocket_a22db5a684bbd93c7b8f194710cf444cb}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classSocket_a22db5a684bbd93c7b8f194710cf444cb}

\item 
\hypertarget{classSocket_ae5f756421869669a0bea55f866b0ba60}{
string {\bfseries \_\-remote\_\-host}}
\label{classSocket_ae5f756421869669a0bea55f866b0ba60}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classSocket_a0bbbce7337d2151f0ff1d3ab99a00c77}{
\index{Socket@{Socket}!init\_\-sockaddr@{init\_\-sockaddr}}
\index{init\_\-sockaddr@{init\_\-sockaddr}!Socket@{Socket}}
\subsubsection[{init\_\-sockaddr}]{\setlength{\rightskip}{0pt plus 5cm}void Socket::init\_\-sockaddr (
\begin{DoxyParamCaption}
\item[{string}]{addr, }
\item[{uint16\_\-t}]{local\_\-port, }
\item[{struct sockaddr\_\-storage \&}]{ss, }
\item[{size\_\-t \&}]{len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classSocket_a0bbbce7337d2151f0ff1d3ab99a00c77}


Given an address (\hyperlink{classIPv4}{IPv4} or \hyperlink{classIPv6}{IPv6}) symbolic or numeric fill in \hyperlink{protocolthe-p}{the} provided structure. 

Note: This method is provided as a service to other code and is no longer used by this class. Don't remove it as \hyperlink{protocolthe-p}{the} test code uses it. 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/bgp/socket.hh\item 
/home/greearb/git/xorp.ct.github/xorp/bgp/socket.cc\end{DoxyCompactItemize}
