\hypertarget{structbufferevent__rate__limit__group}{\section{bufferevent\+\_\+rate\+\_\+limit\+\_\+group Struct Reference}
\label{structbufferevent__rate__limit__group}\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structbufferevent__rate__limit__group_a2ed34e5894f0dfa66042b6e978d76d9e}{\hyperlink{structbufferevent__rate__limit__group_a2ed34e5894f0dfa66042b6e978d76d9e}{T\+A\+I\+L\+Q\+\_\+\+H\+E\+A\+D} (rlim\+\_\+group\+\_\+member\+\_\+list, \hyperlink{structbufferevent__private}{bufferevent\+\_\+private}) members}\label{structbufferevent__rate__limit__group_a2ed34e5894f0dfa66042b6e978d76d9e}

\begin{DoxyCompactList}\small\item\em List of all members in the group. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structev__token__bucket}{ev\+\_\+token\+\_\+bucket} \hyperlink{structbufferevent__rate__limit__group_a8e1001d5f68de81ad8aee675aa9bf141}{rate\+\_\+limit}
\begin{DoxyCompactList}\small\item\em Current limits for the group. \end{DoxyCompactList}\item 
\hypertarget{structbufferevent__rate__limit__group_aec7b5f7467242e6035b0c5e6d07fe2e9}{struct \hyperlink{structev__token__bucket__cfg}{ev\+\_\+token\+\_\+bucket\+\_\+cfg} {\bfseries rate\+\_\+limit\+\_\+cfg}}\label{structbufferevent__rate__limit__group_aec7b5f7467242e6035b0c5e6d07fe2e9}

\item 
unsigned \hyperlink{structbufferevent__rate__limit__group_a8bbf7eed33456d00cc22e254901a9ebb}{read\+\_\+suspended}\+: 1
\begin{DoxyCompactList}\small\item\em True iff we don't want to read from any member of the group.\+until the token bucket refills. \end{DoxyCompactList}\item 
unsigned \hyperlink{structbufferevent__rate__limit__group_a970720116dc6c3714b982388efab2aa1}{write\+\_\+suspended}\+: 1
\begin{DoxyCompactList}\small\item\em True iff we don't want to write from any member of the group.\+until the token bucket refills. \end{DoxyCompactList}\item 
unsigned \hyperlink{structbufferevent__rate__limit__group_a9753f46392acbcc3903992a63aa16b69}{pending\+\_\+unsuspend\+\_\+read}\+: 1
\begin{DoxyCompactList}\small\item\em True iff we were unable to suspend one of the bufferevents in the group for reading the last time we tried, and we should try again. \end{DoxyCompactList}\item 
unsigned \hyperlink{structbufferevent__rate__limit__group_a002ed9e8fd126b6ab43471837ea16a22}{pending\+\_\+unsuspend\+\_\+write}\+: 1
\begin{DoxyCompactList}\small\item\em True iff we were unable to suspend one of the bufferevents in the group for writing the last time we tried, and we should try again. \end{DoxyCompactList}\item 
int \hyperlink{structbufferevent__rate__limit__group_a273beb8e4c4660915ba76ec2e532378e}{n\+\_\+members}
\begin{DoxyCompactList}\small\item\em The number of bufferevents in the group. \end{DoxyCompactList}\item 
ev\+\_\+ssize\+\_\+t \hyperlink{structbufferevent__rate__limit__group_a3fe38e3b09479ae0713bae61831eef86}{min\+\_\+share}
\begin{DoxyCompactList}\small\item\em The smallest number of bytes that any member of the group should be limited to read or write at a time. \end{DoxyCompactList}\item 
struct \hyperlink{structevent}{event} \hyperlink{structbufferevent__rate__limit__group_a66723507b00ce91997a4bf31e5e71a87}{master\+\_\+refill\+\_\+event}
\begin{DoxyCompactList}\small\item\em Timeout event that goes off once a tick, when the bucket is ready to refill. \end{DoxyCompactList}\item 
void $\ast$ \hyperlink{structbufferevent__rate__limit__group_a3b8a47402ba8759dedabbf773737e9e3}{lock}
\begin{DoxyCompactList}\small\item\em Lock to protect the members of this group. \end{DoxyCompactList}\end{DoxyCompactItemize}
{\bf }\par
\begin{DoxyCompactItemize}
\item 
ev\+\_\+uint64\+\_\+t \hyperlink{structbufferevent__rate__limit__group_a9d6a112844dbc0647351db0c90e8158e}{total\+\_\+read}
\begin{DoxyCompactList}\small\item\em Total number of bytes read or written in this group since last reset. \end{DoxyCompactList}\item 
\hypertarget{structbufferevent__rate__limit__group_a7ba40e748c96576e8e1e7874d6578bc3}{ev\+\_\+uint64\+\_\+t {\bfseries total\+\_\+written}}\label{structbufferevent__rate__limit__group_a7ba40e748c96576e8e1e7874d6578bc3}

\end{DoxyCompactItemize}



\subsection{Field Documentation}
\hypertarget{structbufferevent__rate__limit__group_a3b8a47402ba8759dedabbf773737e9e3}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!lock@{lock}}
\index{lock@{lock}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{lock}]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::lock}}\label{structbufferevent__rate__limit__group_a3b8a47402ba8759dedabbf773737e9e3}


Lock to protect the members of this group. 

This lock should nest within every bufferevent lock\+: if you are holding this lock, do not assume you can lock another bufferevent. 

Referenced by bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+free(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+new().

\hypertarget{structbufferevent__rate__limit__group_a66723507b00ce91997a4bf31e5e71a87}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!master\+\_\+refill\+\_\+event@{master\+\_\+refill\+\_\+event}}
\index{master\+\_\+refill\+\_\+event@{master\+\_\+refill\+\_\+event}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{master\+\_\+refill\+\_\+event}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf event} bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::master\+\_\+refill\+\_\+event}}\label{structbufferevent__rate__limit__group_a66723507b00ce91997a4bf31e5e71a87}


Timeout event that goes off once a tick, when the bucket is ready to refill. 



Referenced by bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+free(), bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+new(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+set\+\_\+cfg().

\hypertarget{structbufferevent__rate__limit__group_a3fe38e3b09479ae0713bae61831eef86}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!min\+\_\+share@{min\+\_\+share}}
\index{min\+\_\+share@{min\+\_\+share}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{min\+\_\+share}]{\setlength{\rightskip}{0pt plus 5cm}ev\+\_\+ssize\+\_\+t bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::min\+\_\+share}}\label{structbufferevent__rate__limit__group_a3fe38e3b09479ae0713bae61831eef86}


The smallest number of bytes that any member of the group should be limited to read or write at a time. 



Referenced by bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+new(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+set\+\_\+min\+\_\+share().

\hypertarget{structbufferevent__rate__limit__group_a273beb8e4c4660915ba76ec2e532378e}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!n\+\_\+members@{n\+\_\+members}}
\index{n\+\_\+members@{n\+\_\+members}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{n\+\_\+members}]{\setlength{\rightskip}{0pt plus 5cm}int bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::n\+\_\+members}}\label{structbufferevent__rate__limit__group_a273beb8e4c4660915ba76ec2e532378e}


The number of bufferevents in the group. 



Referenced by bufferevent\+\_\+add\+\_\+to\+\_\+rate\+\_\+limit\+\_\+group(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+free().

\hypertarget{structbufferevent__rate__limit__group_a9753f46392acbcc3903992a63aa16b69}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!pending\+\_\+unsuspend\+\_\+read@{pending\+\_\+unsuspend\+\_\+read}}
\index{pending\+\_\+unsuspend\+\_\+read@{pending\+\_\+unsuspend\+\_\+read}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{pending\+\_\+unsuspend\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}unsigned bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::pending\+\_\+unsuspend\+\_\+read}}\label{structbufferevent__rate__limit__group_a9753f46392acbcc3903992a63aa16b69}


True iff we were unable to suspend one of the bufferevents in the group for reading the last time we tried, and we should try again. 

\hypertarget{structbufferevent__rate__limit__group_a002ed9e8fd126b6ab43471837ea16a22}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!pending\+\_\+unsuspend\+\_\+write@{pending\+\_\+unsuspend\+\_\+write}}
\index{pending\+\_\+unsuspend\+\_\+write@{pending\+\_\+unsuspend\+\_\+write}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{pending\+\_\+unsuspend\+\_\+write}]{\setlength{\rightskip}{0pt plus 5cm}unsigned bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::pending\+\_\+unsuspend\+\_\+write}}\label{structbufferevent__rate__limit__group_a002ed9e8fd126b6ab43471837ea16a22}


True iff we were unable to suspend one of the bufferevents in the group for writing the last time we tried, and we should try again. 

\hypertarget{structbufferevent__rate__limit__group_a8e1001d5f68de81ad8aee675aa9bf141}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!rate\+\_\+limit@{rate\+\_\+limit}}
\index{rate\+\_\+limit@{rate\+\_\+limit}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{rate\+\_\+limit}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf ev\+\_\+token\+\_\+bucket} bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::rate\+\_\+limit}}\label{structbufferevent__rate__limit__group_a8e1001d5f68de81ad8aee675aa9bf141}


Current limits for the group. 



Referenced by bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+new(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+set\+\_\+cfg().

\hypertarget{structbufferevent__rate__limit__group_a8bbf7eed33456d00cc22e254901a9ebb}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!read\+\_\+suspended@{read\+\_\+suspended}}
\index{read\+\_\+suspended@{read\+\_\+suspended}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{read\+\_\+suspended}]{\setlength{\rightskip}{0pt plus 5cm}unsigned bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::read\+\_\+suspended}}\label{structbufferevent__rate__limit__group_a8bbf7eed33456d00cc22e254901a9ebb}


True iff we don't want to read from any member of the group.\+until the token bucket refills. 



Referenced by bufferevent\+\_\+add\+\_\+to\+\_\+rate\+\_\+limit\+\_\+group().

\hypertarget{structbufferevent__rate__limit__group_a9d6a112844dbc0647351db0c90e8158e}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!total\+\_\+read@{total\+\_\+read}}
\index{total\+\_\+read@{total\+\_\+read}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{total\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}ev\+\_\+uint64\+\_\+t bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::total\+\_\+read}}\label{structbufferevent__rate__limit__group_a9d6a112844dbc0647351db0c90e8158e}


Total number of bytes read or written in this group since last reset. 



Referenced by bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+get\+\_\+totals(), and bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+\_\+reset\+\_\+totals().

\hypertarget{structbufferevent__rate__limit__group_a970720116dc6c3714b982388efab2aa1}{\index{bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}!write\+\_\+suspended@{write\+\_\+suspended}}
\index{write\+\_\+suspended@{write\+\_\+suspended}!bufferevent\+\_\+rate\+\_\+limit\+\_\+group@{bufferevent\+\_\+rate\+\_\+limit\+\_\+group}}
\subsubsection[{write\+\_\+suspended}]{\setlength{\rightskip}{0pt plus 5cm}unsigned bufferevent\+\_\+rate\+\_\+limit\+\_\+group\+::write\+\_\+suspended}}\label{structbufferevent__rate__limit__group_a970720116dc6c3714b982388efab2aa1}


True iff we don't want to write from any member of the group.\+until the token bucket refills. 



Referenced by bufferevent\+\_\+add\+\_\+to\+\_\+rate\+\_\+limit\+\_\+group().



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
opal/mca/event/libevent2013/libevent/bufferevent-\/internal.\+h\end{DoxyCompactItemize}
