xrootd
|
#include <XrdCpMthrQueue.hh>
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 |
XrdCpMthrQueue::XrdCpMthrQueue | ( | ) |
References XrdClientVector< T >::Clear(), fMsgQue, and fTotSize.
XrdCpMthrQueue::~XrdCpMthrQueue | ( | ) |
void XrdCpMthrQueue::Clear | ( | ) |
References fTotSize, and GetBuffer().
int XrdCpMthrQueue::GetBuffer | ( | void ** | buf, |
long long & | offs, | ||
int & | len | ||
) |
References XrdCpMessage::buf, fMsgQue, fMutex, fReadSem, fTotSize, fWriteCnd, XrdClientVector< T >::GetSize(), XrdCpMessage::len, XrdCpMessage::offs, XrdClientVector< T >::Pop_front(), XrdSysCondVar::Signal(), and XrdSysSemWait::Wait().
Referenced by Clear(), doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdCpMthrQueue::GetLength | ( | ) | [inline] |
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdCpMthrQueue::PutBuffer | ( | void * | buf, |
long long | offs, | ||
int | len | ||
) |
References XrdCpMessage::buf, CPMTQ_BUFFSIZE, FALSE, fMsgQue, fMutex, fReadSem, fTotSize, fWriteCnd, XrdCpMessage::len, XrdCpMessage::offs, XrdSysSemWait::Post(), XrdClientVector< T >::Push_back(), TRUE, and XrdSysCondVar::Wait().
Referenced by ReaderThread_loc(), ReaderThread_xrd(), and ReaderThread_xrd_xtreme().
int XrdCpMthrQueue::fMsgIter [private] |
XrdClientVector<XrdCpMessage*> XrdCpMthrQueue::fMsgQue [private] |
Referenced by GetBuffer(), PutBuffer(), and XrdCpMthrQueue().
XrdSysRecMutex XrdCpMthrQueue::fMutex [private] |
Referenced by GetBuffer(), and PutBuffer().
XrdSysSemWait XrdCpMthrQueue::fReadSem [private] |
Referenced by GetBuffer(), and PutBuffer().
long XrdCpMthrQueue::fTotSize [private] |
Referenced by Clear(), GetBuffer(), PutBuffer(), and XrdCpMthrQueue().
XrdSysCondVar XrdCpMthrQueue::fWriteCnd [private] |
Referenced by GetBuffer(), and PutBuffer().