xrootd
|
#include <XrdBwmLogger.hh>
Classes | |
struct | Info |
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 |
XrdBwmLogger::XrdBwmLogger | ( | const char * | Target | ) |
XrdBwmLogger::~XrdBwmLogger | ( | ) |
References close, endIT, fMut, XrdSysThread::Kill(), XrdSysMutex::Lock(), msgFD, msgFirst, msgFree, XrdBwmLoggerMsg::next, qMut, theProg, theTarget, tid, and XrdSysMutex::UnLock().
void XrdBwmLogger::Event | ( | Info & | eInfo | ) |
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().
int XrdBwmLogger::Feed | ( | const char * | data, |
int | dlen | ||
) | [private] |
References eDest, XrdSysError::Emsg(), msgFD, XrdSysError::Say(), theTarget, and write().
Referenced by sendEvents().
XrdBwmLoggerMsg * XrdBwmLogger::getMsg | ( | ) | [private] |
References fMut, XrdSysMutex::Lock(), maxmInQ, msgFree, msgsInQ, XrdBwmLoggerMsg::next, and XrdSysMutex::UnLock().
Referenced by Event().
const char* XrdBwmLogger::Prog | ( | ) | [inline] |
References theTarget.
void XrdBwmLogger::retMsg | ( | XrdBwmLoggerMsg * | tp | ) | [private] |
References fMut, XrdSysMutex::Lock(), msgFree, msgsInQ, XrdBwmLoggerMsg::next, and XrdSysMutex::UnLock().
Referenced by sendEvents().
void XrdBwmLogger::sendEvents | ( | void | ) |
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 | ) |
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().
XrdSysError* XrdBwmLogger::eDest [private] |
Referenced by Event(), Feed(), Start(), and XrdBwmLogger().
int XrdBwmLogger::endIT [private] |
Referenced by sendEvents(), XrdBwmLogger(), and ~XrdBwmLogger().
XrdSysMutex XrdBwmLogger::fMut [private] |
Referenced by getMsg(), retMsg(), and ~XrdBwmLogger().
const int XrdBwmLogger::maxmInQ = 256 [static, private] |
Referenced by getMsg().
int XrdBwmLogger::msgFD [private] |
Referenced by Feed(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().
XrdBwmLoggerMsg* XrdBwmLogger::msgFirst [private] |
Referenced by Event(), sendEvents(), XrdBwmLogger(), and ~XrdBwmLogger().
XrdBwmLoggerMsg* XrdBwmLogger::msgFree [private] |
Referenced by getMsg(), retMsg(), XrdBwmLogger(), and ~XrdBwmLogger().
XrdBwmLoggerMsg* XrdBwmLogger::msgLast [private] |
Referenced by Event(), sendEvents(), and XrdBwmLogger().
int XrdBwmLogger::msgsInQ [private] |
XrdSysMutex XrdBwmLogger::qMut [private] |
Referenced by Event(), sendEvents(), and ~XrdBwmLogger().
XrdSysSemaphore XrdBwmLogger::qSem [private] |
Referenced by Event(), and sendEvents().
char XrdBwmLogger::theEOL [private] |
Referenced by Event(), Start(), and XrdBwmLogger().
XrdOucProg* XrdBwmLogger::theProg [private] |
Referenced by sendEvents(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().
char* XrdBwmLogger::theTarget [private] |
Referenced by Feed(), Prog(), Start(), XrdBwmLogger(), and ~XrdBwmLogger().
pthread_t XrdBwmLogger::tid [private] |
Referenced by Start(), XrdBwmLogger(), and ~XrdBwmLogger().