\doxysection{bssgp2\+\_\+flow\+\_\+ctrl Struct Reference}
\label{structbssgp2__flow__ctrl}\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}


{\ttfamily \#include $<$gprs\+\_\+bssgp2.\+h$>$}

\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
uint8\+\_\+t \textbf{ tag}
\item 
uint64\+\_\+t \textbf{ bucket\+\_\+size\+\_\+max}
\item 
uint64\+\_\+t \textbf{ bucket\+\_\+leak\+\_\+rate}
\begin{DoxyCompactList}\small\item\em bucket leak rate in {\itshape bytes} per second \end{DoxyCompactList}\item 
uint8\+\_\+t \textbf{ bucket\+\_\+full\+\_\+ratio}
\item 
bool \textbf{ bucket\+\_\+full\+\_\+ratio\+\_\+present}
\item 
\begin{tabbing}
xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=xx\=\kill
union \{\\
\>struct \{\\
\>\>uint64\_t \textbf{ bmax\_default\_ms}\\
\>\>\>{\em default maximum bucket size per MS in bytes }\\
\>\>uint64\_t \textbf{ r\_default\_ms}\\
\>\>\>{\em default bucket leak rate (R) for MS flow control bucket }\\
\>\>uint32\_t \textbf{ measurement}\\
\>\>\>{\em average milliseconds of queueing delay for a BVC }\\
\>\>bool \textbf{ measurement\_present}\\
\>\} \textbf{ bvc}\\
\>\>\>{\em FC-\/BVC specifi members. }\\
\>struct \{\\
\>\>uint32\_t \textbf{ tlli}\\
\>\>\>{\em TLLI of the MS. }\\
\>\} \textbf{ ms}\\
\>\>\>{\em FC-\/MS specifi members. }\\
\} \textbf{ u}\\

\end{tabbing}\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structbssgp2__flow__ctrl_a4a24b581c9f6657243899e46daf53031}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bmax\_default\_ms@{bmax\_default\_ms}}
\index{bmax\_default\_ms@{bmax\_default\_ms}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{bmax\_default\_ms}
{\footnotesize\ttfamily uint64\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::bmax\+\_\+default\+\_\+ms}



default maximum bucket size per MS in bytes 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}.

\mbox{\label{structbssgp2__flow__ctrl_ab1c624024089bf8b170f5f20934fc329}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bucket\_full\_ratio@{bucket\_full\_ratio}}
\index{bucket\_full\_ratio@{bucket\_full\_ratio}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{bucket\_full\_ratio}
{\footnotesize\ttfamily uint8\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::bucket\+\_\+full\+\_\+ratio}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_a32ae395e42af2106ba617a2acf2a1fb2}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bucket\_full\_ratio\_present@{bucket\_full\_ratio\_present}}
\index{bucket\_full\_ratio\_present@{bucket\_full\_ratio\_present}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{bucket\_full\_ratio\_present}
{\footnotesize\ttfamily bool bssgp2\+\_\+flow\+\_\+ctrl\+::bucket\+\_\+full\+\_\+ratio\+\_\+present}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_a75cc4f4519177dea0e4ade4be9b4d78d}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bucket\_leak\_rate@{bucket\_leak\_rate}}
\index{bucket\_leak\_rate@{bucket\_leak\_rate}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{bucket\_leak\_rate}
{\footnotesize\ttfamily uint64\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::bucket\+\_\+leak\+\_\+rate}



bucket leak rate in {\itshape bytes} per second 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_a1176081edd924260b31fb605126eb6d8}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bucket\_size\_max@{bucket\_size\_max}}
\index{bucket\_size\_max@{bucket\_size\_max}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{bucket\_size\_max}
{\footnotesize\ttfamily uint64\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::bucket\+\_\+size\+\_\+max}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_a74533df143a67cf3ab22b46de7e57667}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!bvc@{bvc}}
\index{bvc@{bvc}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  bssgp2\+\_\+flow\+\_\+ctrl\+::bvc}



FC-\/\+BVC specifi members. 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}.

\mbox{\label{structbssgp2__flow__ctrl_a43af622d37a059a467b806b8a76b7678}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!measurement@{measurement}}
\index{measurement@{measurement}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{measurement}
{\footnotesize\ttfamily uint32\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::measurement}



average milliseconds of queueing delay for a BVC 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}.

\mbox{\label{structbssgp2__flow__ctrl_a03dddd43b7954e953f53a18365428914}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!measurement\_present@{measurement\_present}}
\index{measurement\_present@{measurement\_present}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{measurement\_present}
{\footnotesize\ttfamily bool bssgp2\+\_\+flow\+\_\+ctrl\+::measurement\+\_\+present}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}.

\mbox{\label{structbssgp2__flow__ctrl_abf4ed6d2a6d9d0dff4d55aa38c2c648e}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!ms@{ms}}
\index{ms@{ms}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{}
{\footnotesize\ttfamily struct  \{ ... \}  bssgp2\+\_\+flow\+\_\+ctrl\+::ms}



FC-\/\+MS specifi members. 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_ad664c873070dad65c4d5faa1be47561e}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!r\_default\_ms@{r\_default\_ms}}
\index{r\_default\_ms@{r\_default\_ms}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{r\_default\_ms}
{\footnotesize\ttfamily uint64\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::r\+\_\+default\+\_\+ms}



default bucket leak rate (R) for MS flow control bucket 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}.

\mbox{\label{structbssgp2__flow__ctrl_a68ae4931aaa889e57dce53ecf7cc32cf}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!tag@{tag}}
\index{tag@{tag}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{tag}
{\footnotesize\ttfamily uint8\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::tag}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}, and \textbf{ bssgp\+\_\+bvc\+\_\+fsm\+\_\+unblocked()}.

\mbox{\label{structbssgp2__flow__ctrl_af646c0a94610feec0900eefb0e1e5e86}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!tlli@{tlli}}
\index{tlli@{tlli}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{tlli}
{\footnotesize\ttfamily uint32\+\_\+t bssgp2\+\_\+flow\+\_\+ctrl\+::tlli}



TLLI of the MS. 



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.

\mbox{\label{structbssgp2__flow__ctrl_ab6f72c96e2400c886bb52f7fbd6b2b2b}} 
\index{bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}!u@{u}}
\index{u@{u}!bssgp2\_flow\_ctrl@{bssgp2\_flow\_ctrl}}
\doxysubsubsection{}
{\footnotesize\ttfamily union  \{ ... \}  bssgp2\+\_\+flow\+\_\+ctrl\+::u}



Referenced by \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+bvc()}, \textbf{ bssgp2\+\_\+dec\+\_\+fc\+\_\+ms()}, \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+bvc()}, and \textbf{ bssgp2\+\_\+enc\+\_\+fc\+\_\+ms()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/osmocom/gprs/\textbf{ gprs\+\_\+bssgp2.\+h}\end{DoxyCompactItemize}
