XrdBwmLogger Class Reference

#include <XrdBwmLogger.hh>

List of all members.

Public Member Functions

void Event (Info &eInfo)
const char * Prog ()
void sendEvents (void)
int Start (XrdSysError *eobj)
 XrdBwmLogger (const char *Target)
 ~XrdBwmLogger ()

Private Member Functions

int Feed (const char *data, int dlen)
XrdBwmLoggerMsggetMsg ()
void retMsg (XrdBwmLoggerMsg *tp)

Private Attributes

pthread_t tid
char * theTarget
XrdSysErroreDest
XrdOucProgtheProg
XrdSysMutex qMut
XrdSysSemaphore qSem
XrdBwmLoggerMsgmsgFirst
XrdBwmLoggerMsgmsgLast
XrdSysMutex fMut
XrdBwmLoggerMsgmsgFree
int msgFD
int endIT
int msgsInQ
char theEOL

Static Private Attributes

static const int maxmInQ = 256

Classes

struct  Info


Detailed Description

Definition at line 22 of file XrdBwmLogger.hh.


Constructor & Destructor Documentation

XrdBwmLogger::XrdBwmLogger ( const char *  Target  ) 

Definition at line 63 of file XrdBwmLogger.cc.

References eDest, endIT, msgFD, msgFirst, msgFree, msgLast, theEOL, theProg, theTarget, and tid.

XrdBwmLogger::~XrdBwmLogger (  ) 

Definition at line 82 of file XrdBwmLogger.cc.

References close, endIT, fMut, free(), XrdSysThread::Kill(), XrdSysMutex::Lock(), msgFD, msgFirst, msgFree, XrdBwmLoggerMsg::next, qMut, theProg, theTarget, tid, and XrdSysMutex::UnLock().


Member Function Documentation

void XrdBwmLogger::Event ( Info eInfo  ) 

Definition at line 113 of file XrdBwmLogger.cc.

References XrdBwmLogger::Info::ATime, XrdBwmLogger::Info::BTime, XrdBwmLogger::Info::CTime, eDest, XrdSysError::Emsg(), XrdBwmLogger::Info::ESec, XrdBwmLogger::Info::Flow, getMsg(), XrdBwmLogger::Info::lclNode, XrdBwmLogger::Info::Lfn, XrdSysMutex::Lock(), msgFirst, msgLast, XrdBwmLoggerMsg::msgSize, XrdBwmLoggerMsg::next, XrdBwmLogger::Info::numqIn, XrdBwmLogger::Info::numqOut, XrdBwmLogger::Info::numqXeq, XrdSysSemaphore::Post(), qMut, qSem, XrdBwmLogger::Info::rmtNode, XrdBwmLogger::Info::Size, snprintf, XrdBwmLoggerMsg::Text, theEOL, XrdBwmLogger::Info::Tident, XrdBwmLoggerMsg::Tlen, and XrdSysMutex::UnLock().

Referenced by XrdBwmHandle::Retire().

const char* XrdBwmLogger::Prog (  )  [inline]

Definition at line 44 of file XrdBwmLogger.hh.

References theTarget.

void XrdBwmLogger::sendEvents ( void   ) 

Definition at line 154 of file XrdBwmLogger.cc.

References endIT, XrdOucProg::Feed(), Feed(), XrdSysMutex::Lock(), msgFirst, msgLast, XrdBwmLoggerMsg::next, qMut, qSem, retMsg(), XrdBwmLoggerMsg::Text, theProg, XrdBwmLoggerMsg::Tlen, XrdSysMutex::UnLock(), and XrdSysSemaphore::Wait().

Referenced by XrdBwmLoggerSend().

int XrdBwmLogger::Start ( XrdSysError eobj  ) 

Definition at line 186 of file XrdBwmLogger.cc.

References XrdNetSocket::Create(), XrdNetSocket::Detach(), eDest, XrdSysError::Emsg(), msgFD, XrdSysThread::Run(), XrdOucProg::Setup(), XrdOucProg::Start(), theEOL, theProg, theTarget, tid, XrdBwmLoggerSend(), and XRDNET_FIFO.

Referenced by XrdBwm::Configure().

int XrdBwmLogger::Feed ( const char *  data,
int  dlen 
) [private]

Definition at line 236 of file XrdBwmLogger.cc.

References eDest, XrdSysError::Emsg(), msgFD, XrdSysError::Say(), size_t, theTarget, and write.

Referenced by sendEvents().

XrdBwmLoggerMsg * XrdBwmLogger::getMsg (  )  [private]

Definition at line 262 of file XrdBwmLogger.cc.

References fMut, XrdSysMutex::Lock(), maxmInQ, msgFree, msgsInQ, XrdBwmLoggerMsg::next, and XrdSysMutex::UnLock().

Referenced by Event().

void XrdBwmLogger::retMsg ( XrdBwmLoggerMsg tp  )  [private]

Definition at line 288 of file XrdBwmLogger.cc.

References fMut, XrdSysMutex::Lock(), msgFree, msgsInQ, XrdBwmLoggerMsg::next, and XrdSysMutex::UnLock().

Referenced by sendEvents().


Member Data Documentation

pthread_t XrdBwmLogger::tid [private]

Definition at line 58 of file XrdBwmLogger.hh.

Referenced by Start(), XrdBwmLogger(), and ~XrdBwmLogger().

char* XrdBwmLogger::theTarget [private]

Definition at line 59 of file XrdBwmLogger.hh.

Referenced by Feed(), Prog(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().

XrdSysError* XrdBwmLogger::eDest [private]

Definition at line 60 of file XrdBwmLogger.hh.

Referenced by Event(), Feed(), Start(), and XrdBwmLogger().

XrdOucProg* XrdBwmLogger::theProg [private]

Definition at line 61 of file XrdBwmLogger.hh.

Referenced by sendEvents(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().

XrdSysMutex XrdBwmLogger::qMut [private]

Definition at line 62 of file XrdBwmLogger.hh.

Referenced by Event(), sendEvents(), and ~XrdBwmLogger().

XrdSysSemaphore XrdBwmLogger::qSem [private]

Definition at line 63 of file XrdBwmLogger.hh.

Referenced by Event(), and sendEvents().

XrdBwmLoggerMsg* XrdBwmLogger::msgFirst [private]

Definition at line 64 of file XrdBwmLogger.hh.

Referenced by Event(), sendEvents(), XrdBwmLogger(), and ~XrdBwmLogger().

XrdBwmLoggerMsg* XrdBwmLogger::msgLast [private]

Definition at line 65 of file XrdBwmLogger.hh.

Referenced by Event(), sendEvents(), and XrdBwmLogger().

XrdSysMutex XrdBwmLogger::fMut [private]

Definition at line 66 of file XrdBwmLogger.hh.

Referenced by getMsg(), retMsg(), and ~XrdBwmLogger().

XrdBwmLoggerMsg* XrdBwmLogger::msgFree [private]

Definition at line 67 of file XrdBwmLogger.hh.

Referenced by getMsg(), retMsg(), XrdBwmLogger(), and ~XrdBwmLogger().

int XrdBwmLogger::msgFD [private]

Definition at line 68 of file XrdBwmLogger.hh.

Referenced by Feed(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().

int XrdBwmLogger::endIT [private]

Definition at line 69 of file XrdBwmLogger.hh.

Referenced by sendEvents(), XrdBwmLogger(), and ~XrdBwmLogger().

int XrdBwmLogger::msgsInQ [private]

Definition at line 70 of file XrdBwmLogger.hh.

Referenced by getMsg(), and retMsg().

const int XrdBwmLogger::maxmInQ = 256 [static, private]

Definition at line 71 of file XrdBwmLogger.hh.

Referenced by getMsg().

char XrdBwmLogger::theEOL [private]

Definition at line 72 of file XrdBwmLogger.hh.

Referenced by Event(), Start(), and XrdBwmLogger().


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