1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
\par
\section{Data Structure}
\label{section:ChvList:dataStructure}
\par
\par
The {\tt ChvList} structure has the following fields.
\begin{itemize}
\item
{\tt int nlist} : number of lists.
\item
{\tt Chv **heads} :
vector of pointers to the heads of the list of {\tt Chv} objects.
\item
{\tt int *counts} : vector of incoming counts for the lists.
\item
{\tt Lock *lock} : mutual exclusion lock.
\item
{\tt char *flags} : vector of lock flags for the lists.
If {\tt flags[ilist] == 'N'}, the list does not need to be locked.
If {\tt flags[ilist] == 'Y'}, the list does need to be locked.
Used only when {\tt lock} is not {\tt NULL}.
\item
{\tt int nlocks} :
total number of locks made on the mutual exclusion lock.
\end{itemize}
|