XrdOfsEvs Class Reference

#include <XrdOfsEvs.hh>

List of all members.

Public Types

enum  Event

Public Member Functions

int Enabled (Event theEvents)
int maxSmsg ()
int maxLmsg ()
void Notify (Event eNum, XrdOfsEvsInfo &Info)
const char * Prog ()
void sendEvents (void)
int Start (XrdSysError *eobj)
 XrdOfsEvs (Event theEvents, const char *Target, int minq=90, int maxq=10)
 ~XrdOfsEvs ()

Static Public Member Functions

static int Parse (XrdSysError &Eroute, Event eNum, char *mText)

Static Public Attributes

static const int minMsgSize = 1360
static const int maxMsgSize = 2384

Private Member Functions

const char * eName (int eNum)
int Feed (const char *data, int dlen)
XrdOfsEvsMsggetMsg (int bigmsg)
void retMsg (XrdOfsEvsMsg *tp)

Private Attributes

pthread_t tid
char * theTarget
Event enEvents
XrdSysErroreDest
XrdOucProgtheProg
XrdSysMutex qMut
XrdSysSemaphore qSem
XrdOfsEvsMsgmsgFirst
XrdOfsEvsMsgmsgLast
XrdSysMutex fMut
XrdOfsEvsMsgmsgFreeMax
XrdOfsEvsMsgmsgFreeMin
int endIT
int msgFD
int numMax
int maxMax
int numMin
int maxMin

Static Private Attributes

static XrdOfsEvsFormat MsgFmt [XrdOfsEvs::nCount]


Detailed Description

Definition at line 102 of file XrdOfsEvs.hh.


Member Enumeration Documentation

enum XrdOfsEvs::Event

Definition at line 106 of file XrdOfsEvs.hh.


Constructor & Destructor Documentation

XrdOfsEvs::XrdOfsEvs ( Event  theEvents,
const char *  Target,
int  minq = 90,
int  maxq = 10 
)

Definition at line 102 of file XrdOfsEvs.cc.

References Chmod, Closer, Closew, Create, XrdOfsEvsFormat::cvtFSize, XrdOfsEvsFormat::cvtMode, XrdOfsEvsFormat::Def(), eDest, endIT, enEvents, enMask, XrdOfsEvsInfo::evFMODE, XrdOfsEvsInfo::evFSIZE, XrdOfsEvsInfo::evLFN1, XrdOfsEvsInfo::evLFN2, XrdOfsEvsInfo::evTID, Fwrite, Mask, maxMax, maxMin, Mkdir, msgFD, msgFirst, MsgFmt, msgFreeMax, msgFreeMin, msgLast, Mv, XrdOfsEvsFormat::Null, numMax, numMin, Openr, Openw, Rm, Rmdir, theProg, theTarget, tid, and Trunc.

XrdOfsEvs::~XrdOfsEvs (  ) 

Definition at line 186 of file XrdOfsEvs.cc.

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


Member Function Documentation

int XrdOfsEvs::Enabled ( Event  theEvents  )  [inline]

Definition at line 121 of file XrdOfsEvs.hh.

References enEvents.

Referenced by XrdOfs::chmod(), XrdOfsFile::close(), XrdOfs::Config_Display(), XrdOfs::mkdir(), XrdOfsFile::open(), XrdOfs::remove(), XrdOfs::rename(), XrdOfsFile::truncate(), XrdOfs::truncate(), XrdOfs::Unpersist(), and XrdOfsFile::write().

int XrdOfsEvs::maxSmsg (  )  [inline]

Definition at line 123 of file XrdOfsEvs.hh.

References maxMin.

Referenced by XrdOfs::Config_Display().

int XrdOfsEvs::maxLmsg (  )  [inline]

Definition at line 124 of file XrdOfsEvs.hh.

References maxMax.

Referenced by XrdOfs::Config_Display().

void XrdOfsEvs::Notify ( Event  eNum,
XrdOfsEvsInfo Info 
)

Definition at line 218 of file XrdOfsEvs.cc.

References XrdOfsEvsFormat::cvtFSize, XrdOfsEvsFormat::cvtMode, eDest, XrdSysError::Emsg(), eName(), XrdOfsEvsInfo::evFMODE, XrdOfsEvsInfo::evFSIZE, XrdOfsEvsFormat::Flags, getMsg(), Info, XrdSysMutex::Lock(), Mask, maxMsgSize, minMsgSize, msgFirst, MsgFmt, msgLast, Mv, nCount, XrdOfsEvsMsg::next, XrdSysSemaphore::Post(), qMut, qSem, S_IAMB, XrdOfsEvsFormat::SNP(), sprintf(), XrdOfsEvsMsg::text, XrdOfsEvsMsg::tlen, and XrdSysMutex::UnLock().

Referenced by XrdOfs::chmod(), XrdOfsFile::close(), XrdOfsFile::GenFWEvent(), XrdOfs::mkdir(), XrdOfsFile::open(), XrdOfs::remove(), XrdOfs::rename(), XrdOfs::truncate(), and XrdOfs::Unpersist().

int XrdOfsEvs::Parse ( XrdSysError Eroute,
Event  eNum,
char *  mText 
) [static]

Definition at line 270 of file XrdOfsEvs.cc.

References XrdOfsEvsFormat::cvtFSize, XrdOfsEvsFormat::cvtMode, XrdSysError::Emsg(), XrdOfsEvsInfo::evARGS, XrdOfsEvsInfo::evCGI1, XrdOfsEvsInfo::evCGI2, XrdOfsEvsInfo::evFMODE, XrdOfsEvsInfo::evFSIZE, XrdOfsEvsInfo::evLFN1, XrdOfsEvsInfo::evLFN2, XrdOfsEvsInfo::evTID, XrdOfsEvsFormat::freeFmt, i, j, Mask, MsgFmt, XrdOfsEvsFormat::Null, XrdSysError::Say(), XrdOfsEvsFormat::Set(), and strcpy().

Referenced by XrdOfs::xnmsg().

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

Definition at line 130 of file XrdOfsEvs.hh.

References theTarget.

Referenced by XrdOfs::Config_Display().

void XrdOfsEvs::sendEvents ( void   ) 

Definition at line 346 of file XrdOfsEvs.cc.

References endIT, XrdOucProg::Feed(), Feed(), XrdSysMutex::Lock(), msgFirst, msgLast, XrdOfsEvsMsg::next, qMut, qSem, retMsg(), XrdOfsEvsMsg::text, theProg, XrdOfsEvsMsg::tlen, XrdSysMutex::UnLock(), and XrdSysSemaphore::Wait().

Referenced by XrdOfsEvsSend().

int XrdOfsEvs::Start ( XrdSysError eobj  ) 

Definition at line 377 of file XrdOfsEvs.cc.

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

Referenced by XrdOfs::Configure().

const char * XrdOfsEvs::eName ( int  eNum  )  [private]

Definition at line 428 of file XrdOfsEvs.cc.

References Mask, and nCount.

Referenced by Notify().

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

Definition at line 442 of file XrdOfsEvs.cc.

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

Referenced by sendEvents().

XrdOfsEvsMsg * XrdOfsEvs::getMsg ( int  bigmsg  )  [private]

Definition at line 464 of file XrdOfsEvs.cc.

References fMut, XrdSysMutex::Lock(), malloc(), maxMax, maxMin, maxMsgSize, minMsgSize, msgFreeMax, msgFreeMin, XrdOfsEvsMsg::next, numMax, numMin, XrdOfsEvsMsg::text, and XrdSysMutex::UnLock().

Referenced by Notify().

void XrdOfsEvs::retMsg ( XrdOfsEvsMsg tp  )  [private]

Definition at line 501 of file XrdOfsEvs.cc.

References fMut, XrdOfsEvsMsg::isBig, XrdSysMutex::Lock(), maxMax, maxMin, msgFreeMax, msgFreeMin, XrdOfsEvsMsg::next, numMax, numMin, and XrdSysMutex::UnLock().

Referenced by sendEvents().


Member Data Documentation

const int XrdOfsEvs::minMsgSize = 1360 [static]

Definition at line 118 of file XrdOfsEvs.hh.

Referenced by getMsg(), and Notify().

const int XrdOfsEvs::maxMsgSize = 2384 [static]

Definition at line 119 of file XrdOfsEvs.hh.

Referenced by getMsg(), and Notify().

XrdOfsEvsFormat XrdOfsEvs::MsgFmt [static, private]

Definition at line 145 of file XrdOfsEvs.hh.

Referenced by Notify(), Parse(), and XrdOfsEvs().

pthread_t XrdOfsEvs::tid [private]

Definition at line 147 of file XrdOfsEvs.hh.

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

char* XrdOfsEvs::theTarget [private]

Definition at line 148 of file XrdOfsEvs.hh.

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

Event XrdOfsEvs::enEvents [private]

Definition at line 149 of file XrdOfsEvs.hh.

Referenced by Enabled(), and XrdOfsEvs().

XrdSysError* XrdOfsEvs::eDest [private]

Definition at line 150 of file XrdOfsEvs.hh.

Referenced by Feed(), Notify(), Start(), and XrdOfsEvs().

XrdOucProg* XrdOfsEvs::theProg [private]

Definition at line 151 of file XrdOfsEvs.hh.

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

XrdSysMutex XrdOfsEvs::qMut [private]

Definition at line 152 of file XrdOfsEvs.hh.

Referenced by Notify(), sendEvents(), and ~XrdOfsEvs().

XrdSysSemaphore XrdOfsEvs::qSem [private]

Definition at line 153 of file XrdOfsEvs.hh.

Referenced by Notify(), and sendEvents().

XrdOfsEvsMsg* XrdOfsEvs::msgFirst [private]

Definition at line 154 of file XrdOfsEvs.hh.

Referenced by Notify(), sendEvents(), XrdOfsEvs(), and ~XrdOfsEvs().

XrdOfsEvsMsg* XrdOfsEvs::msgLast [private]

Definition at line 155 of file XrdOfsEvs.hh.

Referenced by Notify(), sendEvents(), and XrdOfsEvs().

XrdSysMutex XrdOfsEvs::fMut [private]

Definition at line 156 of file XrdOfsEvs.hh.

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

XrdOfsEvsMsg* XrdOfsEvs::msgFreeMax [private]

Definition at line 157 of file XrdOfsEvs.hh.

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

XrdOfsEvsMsg* XrdOfsEvs::msgFreeMin [private]

Definition at line 158 of file XrdOfsEvs.hh.

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

int XrdOfsEvs::endIT [private]

Definition at line 159 of file XrdOfsEvs.hh.

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

int XrdOfsEvs::msgFD [private]

Definition at line 160 of file XrdOfsEvs.hh.

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

int XrdOfsEvs::numMax [private]

Definition at line 161 of file XrdOfsEvs.hh.

Referenced by getMsg(), retMsg(), and XrdOfsEvs().

int XrdOfsEvs::maxMax [private]

Definition at line 162 of file XrdOfsEvs.hh.

Referenced by getMsg(), maxLmsg(), retMsg(), and XrdOfsEvs().

int XrdOfsEvs::numMin [private]

Definition at line 163 of file XrdOfsEvs.hh.

Referenced by getMsg(), retMsg(), and XrdOfsEvs().

int XrdOfsEvs::maxMin [private]

Definition at line 164 of file XrdOfsEvs.hh.

Referenced by getMsg(), maxSmsg(), retMsg(), and XrdOfsEvs().


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