\hypertarget{classIoIpComm_1_1InputFilter}{
\section{IoIpComm::InputFilter Class Reference}
\label{classIoIpComm_1_1InputFilter}\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}}
}


Filter class.  




{\ttfamily \#include $<$io\_\-ip\_\-manager.hh$>$}

Inheritance diagram for IoIpComm::InputFilter:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classIoIpComm_1_1InputFilter}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIoIpComm_1_1InputFilter_acaaf95ecd63d689dc460f213cba32787}{
{\bfseries InputFilter} (\hyperlink{classIoIpManager}{IoIpManager} \&io\_\-ip\_\-manager, const string \&receiver\_\-name, uint8\_\-t ip\_\-protocol)}
\label{classIoIpComm_1_1InputFilter_acaaf95ecd63d689dc460f213cba32787}

\item 
\hyperlink{classIoIpManager}{IoIpManager} \& \hyperlink{classIoIpComm_1_1InputFilter_a97cbdb25282bd706692b65e50b2c8646}{io\_\-ip\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} I/O IP manager. \item\end{DoxyCompactList}\item 
const \hyperlink{classIoIpManager}{IoIpManager} \& \hyperlink{classIoIpComm_1_1InputFilter_a069d7e847392652b486c90e0580745d3}{io\_\-ip\_\-manager} () const 
\begin{DoxyCompactList}\small\item\em Get a const reference to \hyperlink{protocolthe-p}{the} I/O IP manager. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classIoIpComm_1_1InputFilter_a4b9bedc98407f7c17523bc5f5bb17ecb}{receiver\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} receiver name. \item\end{DoxyCompactList}\item 
uint8\_\-t \hyperlink{classIoIpComm_1_1InputFilter_a58467f8802f087718894d51e82aeed7c}{ip\_\-protocol} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} IP protocol. \item\end{DoxyCompactList}\item 
\hypertarget{classIoIpComm_1_1InputFilter_a32e13367f61b0e002d666ede2c7377c0}{
virtual void \hyperlink{classIoIpComm_1_1InputFilter_a32e13367f61b0e002d666ede2c7377c0}{recv} (const struct \hyperlink{structIPvXHeaderInfo}{IPvXHeaderInfo} \&header, const vector$<$ uint8\_\-t $>$ \&payload)=0}
\label{classIoIpComm_1_1InputFilter_a32e13367f61b0e002d666ede2c7377c0}

\begin{DoxyCompactList}\small\item\em Method invoked when data arrives on associated \hyperlink{classIoIpComm}{IoIpComm} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classIoIpComm_1_1InputFilter_a3ebc2457069429b25891d467e4977413}{
virtual void \hyperlink{classIoIpComm_1_1InputFilter_a3ebc2457069429b25891d467e4977413}{recv\_\-system\_\-multicast\_\-upcall} (const vector$<$ uint8\_\-t $>$ \&payload)=0}
\label{classIoIpComm_1_1InputFilter_a3ebc2457069429b25891d467e4977413}

\begin{DoxyCompactList}\small\item\em Method invoked when a multicast forwarding related upcall is received from \hyperlink{protocolthe-p}{the} system. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classIoIpComm_1_1InputFilter_af0ed271362a140936281cc01e6e77396}{bye} ()=0
\begin{DoxyCompactList}\small\item\em Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoIpComm}{IoIpComm} instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIoIpComm_1_1InputFilter_a668732a0aff6dcdd915b6929143b5918}{
\hyperlink{classIoIpManager}{IoIpManager} \& {\bfseries \_\-io\_\-ip\_\-manager}}
\label{classIoIpComm_1_1InputFilter_a668732a0aff6dcdd915b6929143b5918}

\item 
\hypertarget{classIoIpComm_1_1InputFilter_a198c22524c63c6e58bd644f4d6f72cf0}{
string {\bfseries \_\-receiver\_\-name}}
\label{classIoIpComm_1_1InputFilter_a198c22524c63c6e58bd644f4d6f72cf0}

\item 
\hypertarget{classIoIpComm_1_1InputFilter_a2b52ae9aefa01e497632d920171ee16a}{
uint8\_\-t {\bfseries \_\-ip\_\-protocol}}
\label{classIoIpComm_1_1InputFilter_a2b52ae9aefa01e497632d920171ee16a}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Filter class. 

\subsection{Member Function Documentation}
\hypertarget{classIoIpComm_1_1InputFilter_af0ed271362a140936281cc01e6e77396}{
\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}!bye@{bye}}
\index{bye@{bye}!IoIpComm::InputFilter@{IoIpComm::InputFilter}}
\subsubsection[{bye}]{\setlength{\rightskip}{0pt plus 5cm}virtual void IoIpComm::InputFilter::bye (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classIoIpComm_1_1InputFilter_af0ed271362a140936281cc01e6e77396}


Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoIpComm}{IoIpComm} instance. 

This method provides \hyperlink{protocolthe-p}{the} \hyperlink{classIoIpComm_1_1InputFilter}{InputFilter} with \hyperlink{protocolthe-p}{the} opportunity to delete itself or update its state. The input filter does not need to call \hyperlink{classIoIpComm_a43dae51a61a95bae731e9b8153e9f634}{IoIpComm::remove\_\-filter()} since filter removal is automatically conducted. 

Implemented in \hyperlink{classIpVifInputFilter_a41cf2bd782d499b6c38ac6095c1243a1}{IpVifInputFilter}, and \hyperlink{classSystemMulticastUpcallFilter_a92fcabcd85b2834f3cf5455b04953600}{SystemMulticastUpcallFilter}.

\hypertarget{classIoIpComm_1_1InputFilter_a069d7e847392652b486c90e0580745d3}{
\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}!io\_\-ip\_\-manager@{io\_\-ip\_\-manager}}
\index{io\_\-ip\_\-manager@{io\_\-ip\_\-manager}!IoIpComm::InputFilter@{IoIpComm::InputFilter}}
\subsubsection[{io\_\-ip\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IoIpManager}\& IoIpComm::InputFilter::io\_\-ip\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIoIpComm_1_1InputFilter_a069d7e847392652b486c90e0580745d3}


Get a const reference to \hyperlink{protocolthe-p}{the} I/O IP manager. 

\begin{DoxyReturn}{Returns}
a const reference to \hyperlink{protocolthe-p}{the} I/O IP manager. 
\end{DoxyReturn}
\hypertarget{classIoIpComm_1_1InputFilter_a97cbdb25282bd706692b65e50b2c8646}{
\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}!io\_\-ip\_\-manager@{io\_\-ip\_\-manager}}
\index{io\_\-ip\_\-manager@{io\_\-ip\_\-manager}!IoIpComm::InputFilter@{IoIpComm::InputFilter}}
\subsubsection[{io\_\-ip\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoIpManager}\& IoIpComm::InputFilter::io\_\-ip\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIoIpComm_1_1InputFilter_a97cbdb25282bd706692b65e50b2c8646}


Get a reference to \hyperlink{protocolthe-p}{the} I/O IP manager. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} I/O IP manager. 
\end{DoxyReturn}
\hypertarget{classIoIpComm_1_1InputFilter_a58467f8802f087718894d51e82aeed7c}{
\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}!ip\_\-protocol@{ip\_\-protocol}}
\index{ip\_\-protocol@{ip\_\-protocol}!IoIpComm::InputFilter@{IoIpComm::InputFilter}}
\subsubsection[{ip\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}uint8\_\-t IoIpComm::InputFilter::ip\_\-protocol (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIoIpComm_1_1InputFilter_a58467f8802f087718894d51e82aeed7c}


Get \hyperlink{protocolthe-p}{the} IP protocol. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} IP protocol. 
\end{DoxyReturn}
\hypertarget{classIoIpComm_1_1InputFilter_a4b9bedc98407f7c17523bc5f5bb17ecb}{
\index{IoIpComm::InputFilter@{IoIpComm::InputFilter}!receiver\_\-name@{receiver\_\-name}}
\index{receiver\_\-name@{receiver\_\-name}!IoIpComm::InputFilter@{IoIpComm::InputFilter}}
\subsubsection[{receiver\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const string\& IoIpComm::InputFilter::receiver\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIoIpComm_1_1InputFilter_a4b9bedc98407f7c17523bc5f5bb17ecb}


Get \hyperlink{protocolthe-p}{the} receiver name. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} receiver name. 
\end{DoxyReturn}


The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/fea/io\_\-ip\_\-manager.hh\end{DoxyCompactItemize}
