#include <XrdClientInputBuffer.hh>
Public Member Functions | |
XrdClientInputBuffer () | |
~XrdClientInputBuffer () | |
bool | IsMexEmpty () |
bool | IsSemEmpty () |
int | MexSize () |
int | PutMsg (XrdClientMessage *msg) |
int | SemSize () |
int | WipeStreamid (int streamid) |
XrdClientMessage * | GetMsg (int streamid, int secstimeout) |
Private Member Functions | |
XrdSysSemWait * | GetSyncObjOrMakeOne (int streamid) |
int | MsgForStreamidCnt (int streamid) |
Private Attributes | |
XrdClientVector< XrdClientMessage * > | fMsgQue |
int | fMsgIter |
XrdSysRecMutex | fMutex |
XrdOucHash< XrdSysSemWait > | fSyncobjRepo |
Definition at line 31 of file XrdClientInputBuffer.hh.
XrdClientInputBuffer::XrdClientInputBuffer | ( | ) |
Definition at line 105 of file XrdClientInputBuffer.cc.
References XrdClientVector< T >::Clear(), and fMsgQue.
XrdClientInputBuffer::~XrdClientInputBuffer | ( | ) |
Definition at line 120 of file XrdClientInputBuffer.cc.
References XrdOucHash< T >::Apply(), XrdClientVector< T >::Clear(), DeleteHashItem(), fMsgIter, fMsgQue, fMutex, fSyncobjRepo, and XrdClientVector< T >::GetSize().
XrdSysSemWait * XrdClientInputBuffer::GetSyncObjOrMakeOne | ( | int | streamid | ) | [private] |
Definition at line 76 of file XrdClientInputBuffer.cc.
References buf, XrdOucHash< T >::Find(), fMutex, fSyncobjRepo, XrdOucHash< T >::Rep(), snprintf, and XrdSysSemWait.
int XrdClientInputBuffer::MsgForStreamidCnt | ( | int | streamid | ) | [private] |
Definition at line 32 of file XrdClientInputBuffer.cc.
References xmlio::cnt, fMsgIter, fMsgQue, XrdClientVector< T >::GetSize(), and m.
bool XrdClientInputBuffer::IsMexEmpty | ( | ) | [inline] |
bool XrdClientInputBuffer::IsSemEmpty | ( | ) | [inline] |
int XrdClientInputBuffer::MexSize | ( | ) | [inline] |
Definition at line 56 of file XrdClientInputBuffer.hh.
References fMsgQue, fMutex, and XrdClientVector< T >::GetSize().
Referenced by IsMexEmpty(), and PutMsg().
int XrdClientInputBuffer::PutMsg | ( | XrdClientMessage * | msg | ) |
Definition at line 145 of file XrdClientInputBuffer.cc.
References fMsgQue, fMutex, GetSyncObjOrMakeOne(), m, MexSize(), XrdSysSemWait::Post(), and XrdClientVector< T >::Push_back().
Referenced by XrdClientPhyConnection::BuildMessage().
int XrdClientInputBuffer::SemSize | ( | ) | [inline] |
Definition at line 61 of file XrdClientInputBuffer.hh.
References fMutex, fSyncobjRepo, and XrdOucHash< T >::Num().
Referenced by IsSemEmpty().
int XrdClientInputBuffer::WipeStreamid | ( | int | streamid | ) |
Definition at line 51 of file XrdClientInputBuffer.cc.
References xmlio::cnt, XrdClientVector< T >::Erase(), fMsgIter, fMsgQue, fMutex, XrdClientVector< T >::GetSize(), and m.
Referenced by XrdClientPhyConnection::WipeStreamid().
XrdClientMessage * XrdClientInputBuffer::GetMsg | ( | int | streamid, | |
int | secstimeout | |||
) |
Definition at line 172 of file XrdClientInputBuffer.cc.
References XrdClientVector< T >::Erase(), fMsgIter, fMsgQue, fMutex, XrdClientVector< T >::GetSize(), GetSyncObjOrMakeOne(), m, and XrdSysSemWait::Wait().
Referenced by XrdClientPhyConnection::ReadMessage().
Definition at line 35 of file XrdClientInputBuffer.hh.
Referenced by GetMsg(), MexSize(), MsgForStreamidCnt(), PutMsg(), WipeStreamid(), XrdClientInputBuffer(), and ~XrdClientInputBuffer().
int XrdClientInputBuffer::fMsgIter [private] |
Definition at line 36 of file XrdClientInputBuffer.hh.
Referenced by GetMsg(), MsgForStreamidCnt(), WipeStreamid(), and ~XrdClientInputBuffer().
XrdSysRecMutex XrdClientInputBuffer::fMutex [private] |
Definition at line 38 of file XrdClientInputBuffer.hh.
Referenced by GetMsg(), GetSyncObjOrMakeOne(), MexSize(), PutMsg(), SemSize(), WipeStreamid(), and ~XrdClientInputBuffer().
Definition at line 40 of file XrdClientInputBuffer.hh.
Referenced by GetSyncObjOrMakeOne(), SemSize(), and ~XrdClientInputBuffer().