\hypertarget{classMfeaDfeLookup}{
\section{MfeaDfeLookup Class Reference}
\label{classMfeaDfeLookup}\index{MfeaDfeLookup@{MfeaDfeLookup}}
}


A class for storing all dataflow entries per (S,G).  




{\ttfamily \#include $<$mfea\_\-dataflow.hh$>$}

Inheritance diagram for MfeaDfeLookup:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classMfeaDfeLookup}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMfeaDfeLookup_a4249bb107876ad6c1d97e7682aa8cbf0}{MfeaDfeLookup} (\hyperlink{classMfeaDft}{MfeaDft} \&mfea\_\-dft, const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em Constructor for a given dataflow table, source and group address. \item\end{DoxyCompactList}\item 
\hypertarget{classMfeaDfeLookup_a20ada19a20746a5f61b0af64a7c66b10}{
\hyperlink{classMfeaDfeLookup_a20ada19a20746a5f61b0af64a7c66b10}{$\sim$MfeaDfeLookup} ()}
\label{classMfeaDfeLookup_a20ada19a20746a5f61b0af64a7c66b10}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
\hyperlink{classMfeaDft}{MfeaDft} \& \hyperlink{classMfeaDfeLookup_a2fdc33039fcc6590f9d7778d69c1c225}{mfea\_\-dft} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} dataflow table this entry belongs to. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaDfeLookup_a6aa6941e29403bdddac1e04c51f6d5d5}{family} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} address family. \item\end{DoxyCompactList}\item 
\hyperlink{classMfeaDfe}{MfeaDfe} $\ast$ \hyperlink{classMfeaDfeLookup_acb9bc16f2cddf00fe0f0f2b79b4034e7}{find} (const \hyperlink{classTimeVal}{TimeVal} \&threshold\_\-interval, uint32\_\-t threshold\_\-packets, uint32\_\-t threshold\_\-bytes, bool is\_\-threshold\_\-in\_\-packets, bool is\_\-threshold\_\-in\_\-bytes, bool is\_\-geq\_\-upcall, bool is\_\-leq\_\-upcall)
\begin{DoxyCompactList}\small\item\em Find a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaDfeLookup_a655a7a6d52e6c6f4972f1316e52af9c6}{insert} (\hyperlink{classMfeaDfe}{MfeaDfe} $\ast$mfea\_\-dfe)
\begin{DoxyCompactList}\small\item\em Insert a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaDfeLookup_a5d0dbe1298f24b3fc7b87e5d7cffc93c}{remove} (\hyperlink{classMfeaDfe}{MfeaDfe} $\ast$mfea\_\-dfe)
\begin{DoxyCompactList}\small\item\em Remove a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. \item\end{DoxyCompactList}\item 
bool \hyperlink{classMfeaDfeLookup_acbd108d79bfb06b2a290db113d49fbb8}{is\_\-empty} () const 
\begin{DoxyCompactList}\small\item\em Test if there are \hyperlink{classMfeaDfe}{MfeaDfe} entries inserted within this entry. \item\end{DoxyCompactList}\item 
list$<$ \hyperlink{classMfeaDfe}{MfeaDfe} $\ast$ $>$ \& \hyperlink{classMfeaDfeLookup_af90426e178bd0a485cf7196ac5822fee}{mfea\_\-dfe\_\-list} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} list of \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entries for \hyperlink{protocolthe-p}{the} same (S,G). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMfeaDfeLookup_ae016f96564a696b52988b19e9294cb06}{
\hyperlink{classMfeaDft}{MfeaDft} \& {\bfseries \_\-mfea\_\-dft}}
\label{classMfeaDfeLookup_ae016f96564a696b52988b19e9294cb06}

\item 
\hypertarget{classMfeaDfeLookup_a884191452934fd72ee22fdd67ef4495c}{
list$<$ \hyperlink{classMfeaDfe}{MfeaDfe} $\ast$ $>$ {\bfseries \_\-mfea\_\-dfe\_\-list}}
\label{classMfeaDfeLookup_a884191452934fd72ee22fdd67ef4495c}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A class for storing all dataflow entries per (S,G). 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classMfeaDfeLookup_a4249bb107876ad6c1d97e7682aa8cbf0}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!MfeaDfeLookup@{MfeaDfeLookup}}
\index{MfeaDfeLookup@{MfeaDfeLookup}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{MfeaDfeLookup}]{\setlength{\rightskip}{0pt plus 5cm}MfeaDfeLookup::MfeaDfeLookup (
\begin{DoxyParamCaption}
\item[{{\bf MfeaDft} \&}]{mfea\_\-dft, }
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)}}
\label{classMfeaDfeLookup_a4249bb107876ad6c1d97e7682aa8cbf0}


Constructor for a given dataflow table, source and group address. 


\begin{DoxyParams}{Parameters}
{\em mfea\_\-dft} & \hyperlink{protocolthe-p}{the} dataflow table (\hyperlink{classMfeaDft}{MfeaDft}) this entries belongs to. \\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classMfeaDfeLookup_a6aa6941e29403bdddac1e04c51f6d5d5}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!family@{family}}
\index{family@{family}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{family}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDfeLookup::family (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classMfeaDfeLookup_a6aa6941e29403bdddac1e04c51f6d5d5}


Get \hyperlink{protocolthe-p}{the} address family. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} address family (e.g., AF\_\-INET or AF\_\-INET6 for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6} respectively). 
\end{DoxyReturn}
\hypertarget{classMfeaDfeLookup_acb9bc16f2cddf00fe0f0f2b79b4034e7}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!find@{find}}
\index{find@{find}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}{\bf MfeaDfe} $\ast$ MfeaDfeLookup::find (
\begin{DoxyParamCaption}
\item[{const {\bf TimeVal} \&}]{threshold\_\-interval, }
\item[{uint32\_\-t}]{threshold\_\-packets, }
\item[{uint32\_\-t}]{threshold\_\-bytes, }
\item[{bool}]{is\_\-threshold\_\-in\_\-packets, }
\item[{bool}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{bool}]{is\_\-geq\_\-upcall, }
\item[{bool}]{is\_\-leq\_\-upcall}
\end{DoxyParamCaption}
)}}
\label{classMfeaDfeLookup_acb9bc16f2cddf00fe0f0f2b79b4034e7}


Find a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. 

Note: either is\_\-threshold\_\-in\_\-packets or is\_\-threshold\_\-in\_\-bytes (or both) must be true. Note: either is\_\-geq\_\-upcall or is\_\-leq\_\-upcall (but not both) must be true.


\begin{DoxyParams}{Parameters}
{\em threshold\_\-interval} & \hyperlink{protocolthe-p}{the} dataflow threshold interval. \\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold (in number of packets) to compare against. \\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold (in number of bytes) to compare against. \\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid. \\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid. \\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}. \\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} corresponding \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry on success, otherwise NULL. 
\end{DoxyReturn}
\hypertarget{classMfeaDfeLookup_a655a7a6d52e6c6f4972f1316e52af9c6}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!insert@{insert}}
\index{insert@{insert}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaDfeLookup::insert (
\begin{DoxyParamCaption}
\item[{{\bf MfeaDfe} $\ast$}]{mfea\_\-dfe}
\end{DoxyParamCaption}
)}}
\label{classMfeaDfeLookup_a655a7a6d52e6c6f4972f1316e52af9c6}


Insert a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. 


\begin{DoxyParams}{Parameters}
{\em mfea\_\-dfe} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry to insert. \\
\hline
\end{DoxyParams}
\hypertarget{classMfeaDfeLookup_acbd108d79bfb06b2a290db113d49fbb8}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!is\_\-empty@{is\_\-empty}}
\index{is\_\-empty@{is\_\-empty}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{is\_\-empty}]{\setlength{\rightskip}{0pt plus 5cm}bool MfeaDfeLookup::is\_\-empty (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaDfeLookup_acbd108d79bfb06b2a290db113d49fbb8}


Test if there are \hyperlink{classMfeaDfe}{MfeaDfe} entries inserted within this entry. 

\begin{DoxyReturn}{Returns}
true if there are \hyperlink{classMfeaDfe}{MfeaDfe} entries inserted within this entry, otherwise false. 
\end{DoxyReturn}
\hypertarget{classMfeaDfeLookup_af90426e178bd0a485cf7196ac5822fee}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!mfea\_\-dfe\_\-list@{mfea\_\-dfe\_\-list}}
\index{mfea\_\-dfe\_\-list@{mfea\_\-dfe\_\-list}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{mfea\_\-dfe\_\-list}]{\setlength{\rightskip}{0pt plus 5cm}list$<${\bf MfeaDfe} $\ast$$>$\& MfeaDfeLookup::mfea\_\-dfe\_\-list (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaDfeLookup_af90426e178bd0a485cf7196ac5822fee}


Get \hyperlink{protocolthe-p}{the} list of \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entries for \hyperlink{protocolthe-p}{the} same (S,G). 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} list of \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entries for \hyperlink{protocolthe-p}{the} same (S,G). 
\end{DoxyReturn}
\hypertarget{classMfeaDfeLookup_a2fdc33039fcc6590f9d7778d69c1c225}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!mfea\_\-dft@{mfea\_\-dft}}
\index{mfea\_\-dft@{mfea\_\-dft}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{mfea\_\-dft}]{\setlength{\rightskip}{0pt plus 5cm}{\bf MfeaDft}\& MfeaDfeLookup::mfea\_\-dft (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaDfeLookup_a2fdc33039fcc6590f9d7778d69c1c225}


Get a reference to \hyperlink{protocolthe-p}{the} dataflow table this entry belongs to. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} dataflow table (MfeaDataflow) this entry belongs to. 
\end{DoxyReturn}
\hypertarget{classMfeaDfeLookup_a5d0dbe1298f24b3fc7b87e5d7cffc93c}{
\index{MfeaDfeLookup@{MfeaDfeLookup}!remove@{remove}}
\index{remove@{remove}!MfeaDfeLookup@{MfeaDfeLookup}}
\subsubsection[{remove}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaDfeLookup::remove (
\begin{DoxyParamCaption}
\item[{{\bf MfeaDfe} $\ast$}]{mfea\_\-dfe}
\end{DoxyParamCaption}
)}}
\label{classMfeaDfeLookup_a5d0dbe1298f24b3fc7b87e5d7cffc93c}


Remove a \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. 


\begin{DoxyParams}{Parameters}
{\em mfea\_\-dfe} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry to remove. \\
\hline
\end{DoxyParams}


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