#include <XrdBwmLogger.hh>
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) |
| XrdBwmLoggerMsg * | getMsg () |
| void | retMsg (XrdBwmLoggerMsg *tp) |
Private Attributes | |
| pthread_t | tid |
| char * | theTarget |
| XrdSysError * | eDest |
| XrdOucProg * | theProg |
| XrdSysMutex | qMut |
| XrdSysSemaphore | qSem |
| XrdBwmLoggerMsg * | msgFirst |
| XrdBwmLoggerMsg * | msgLast |
| XrdSysMutex | fMut |
| XrdBwmLoggerMsg * | msgFree |
| int | msgFD |
| int | endIT |
| int | msgsInQ |
| char | theEOL |
Static Private Attributes | |
| static const int | maxmInQ = 256 |
Classes | |
| struct | Info |
Definition at line 22 of file XrdBwmLogger.hh.
| XrdBwmLogger::XrdBwmLogger | ( | const char * | Target | ) |
| 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().
| 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] |
| 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().
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] |
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] |
const int XrdBwmLogger::maxmInQ = 256 [static, private] |
char XrdBwmLogger::theEOL [private] |
1.5.1