XrdCpMthrQueue Class Reference

#include <XrdCpMthrQueue.hh>

List of all members.

Public Member Functions

 XrdCpMthrQueue ()
 ~XrdCpMthrQueue ()
int PutBuffer (void *buf, long long offs, int len)
int GetBuffer (void **buf, long long &offs, int &len)
int GetLength ()
void Clear ()

Private Attributes

long fTotSize
XrdClientVector< XrdCpMessage * > fMsgQue
int fMsgIter
XrdSysRecMutex fMutex
XrdSysSemWait fReadSem
XrdSysCondVar fWriteCnd


Detailed Description

Definition at line 30 of file XrdCpMthrQueue.hh.


Constructor & Destructor Documentation

XrdCpMthrQueue::XrdCpMthrQueue (  ) 

Definition at line 19 of file XrdCpMthrQueue.cc.

References XrdClientVector< T >::Clear(), fMsgQue, and fTotSize.

XrdCpMthrQueue::~XrdCpMthrQueue (  ) 

Definition at line 26 of file XrdCpMthrQueue.cc.


Member Function Documentation

int XrdCpMthrQueue::PutBuffer ( void *  buf,
long long  offs,
int  len 
)

Definition at line 32 of file XrdCpMthrQueue.cc.

References CPMTQ_BUFFSIZE, FALSE, fMsgQue, fMutex, fReadSem, fTotSize, fWriteCnd, m, XrdSysSemWait::Post(), XrdClientVector< T >::Push_back(), TRUE, and XrdSysCondVar::Wait().

Referenced by ReaderThread_loc(), ReaderThread_xrd(), and ReaderThread_xrd_xtreme().

int XrdCpMthrQueue::GetBuffer ( void **  buf,
long long offs,
int &  len 
)

Definition at line 62 of file XrdCpMthrQueue.cc.

References fMsgQue, fMutex, fReadSem, fTotSize, fWriteCnd, XrdClientVector< T >::GetSize(), XrdClientVector< T >::Pop_front(), XrdSysCondVar::Signal(), and XrdSysSemWait::Wait().

Referenced by Clear(), doCp_xrd2loc(), and doCp_xrd2xrd().

int XrdCpMthrQueue::GetLength (  )  [inline]

Definition at line 49 of file XrdCpMthrQueue.hh.

References fMsgQue, and XrdClientVector< T >::GetSize().

Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().

void XrdCpMthrQueue::Clear (  ) 

Definition at line 92 of file XrdCpMthrQueue.cc.

References buf, free(), fTotSize, GetBuffer(), and len.


Member Data Documentation

long XrdCpMthrQueue::fTotSize [private]

Definition at line 32 of file XrdCpMthrQueue.hh.

Referenced by Clear(), GetBuffer(), PutBuffer(), and XrdCpMthrQueue().

XrdClientVector<XrdCpMessage*> XrdCpMthrQueue::fMsgQue [private]

Definition at line 33 of file XrdCpMthrQueue.hh.

Referenced by GetBuffer(), GetLength(), PutBuffer(), and XrdCpMthrQueue().

int XrdCpMthrQueue::fMsgIter [private]

Definition at line 34 of file XrdCpMthrQueue.hh.

XrdSysRecMutex XrdCpMthrQueue::fMutex [private]

Definition at line 36 of file XrdCpMthrQueue.hh.

Referenced by GetBuffer(), and PutBuffer().

XrdSysSemWait XrdCpMthrQueue::fReadSem [private]

Definition at line 38 of file XrdCpMthrQueue.hh.

Referenced by GetBuffer(), and PutBuffer().

XrdSysCondVar XrdCpMthrQueue::fWriteCnd [private]

Definition at line 40 of file XrdCpMthrQueue.hh.

Referenced by GetBuffer(), and PutBuffer().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:27 2011 for ROOT_528-00b_version by  doxygen 1.5.1