XrdOfsEvr Class Reference

#include <XrdOfsEvr.hh>

List of all members.

Public Member Functions

void flushEvents ()
int Init (XrdSysError *eObj, XrdCmsClient *trg=0)
void recvEvents ()
void Wait4Event (const char *path, XrdOucErrInfo *einfo)
void Work4Event (theClient *Client)
 XrdOfsEvr ()
 ~XrdOfsEvr ()

Private Member Functions

void eventStage ()
void sendEvent (theEvent *ep)

Private Attributes

XrdSysMutex myMutex
XrdSysSemaphore mySem
XrdOucStream eventFIFO
XrdSysErroreDest
XrdCmsClientBalancer
theClientdeferQ
int runQ
int msgFD
XrdOucHash< theEventEvents

Static Private Attributes

static const int maxLife = (8*60*60)

Classes

class  theClient
struct  theEvent


Detailed Description

Definition at line 24 of file XrdOfsEvr.hh.


Constructor & Destructor Documentation

XrdOfsEvr::XrdOfsEvr (  )  [inline]

Definition at line 39 of file XrdOfsEvr.hh.

References deferQ, and runQ.

XrdOfsEvr::~XrdOfsEvr (  ) 

Definition at line 60 of file XrdOfsEvr.cc.

References XrdOucStream::Close(), eventFIFO, XrdSysMutex::Lock(), myMutex, and XrdSysMutex::UnLock().


Member Function Documentation

void XrdOfsEvr::flushEvents (  ) 

Definition at line 74 of file XrdOfsEvr.cc.

References deferQ, Events, XrdSysMutex::Lock(), maxLife, myMutex, mySem, XrdOfsEvr::theClient::Next, XrdOfsEvr::theClient::Path, runQ, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), XrdSysTimer::Wait(), and XrdOfsScrubScan().

Referenced by XrdOfsEvFlush().

int XrdOfsEvr::Init ( XrdSysError eObj,
XrdCmsClient trg = 0 
)

Definition at line 117 of file XrdOfsEvr.cc.

References Balancer, XrdNetSocket::Create(), XrdNetSocket::Detach(), eDest, XrdSysError::Emsg(), XrdOucEnv::Export(), getenv(), msgFD, n, p, XrdSysThread::Run(), strcpy(), XRDNET_FIFO, XrdOfsEvFlush(), and XrdOfsEvRecv().

Referenced by XrdOfs::Configure().

void XrdOfsEvr::recvEvents (  ) 

Definition at line 173 of file XrdOfsEvr.cc.

References XrdOucStream::Attach(), DEBUG, eDest, XrdSysError::Emsg(), EPNAME, eventFIFO, eventStage(), XrdOucStream::GetLine(), XrdOucStream::GetToken(), msgFD, and tident.

Referenced by XrdOfsEvRecv().

void XrdOfsEvr::Wait4Event ( const char *  path,
XrdOucErrInfo einfo 
)

Definition at line 198 of file XrdOfsEvr.cc.

References XrdOucErrInfo::setErrCB().

Referenced by XrdOfsFile::open().

void XrdOfsEvr::Work4Event ( theClient Client  ) 

Definition at line 212 of file XrdOfsEvr.cc.

References XrdOfsEvr::theEvent::aClient, Events, XrdOfsEvr::theClient::evtCB, XrdOfsEvr::theClient::evtCBarg, XrdOfsEvr::theEvent::Happened, XrdSysMutex::Lock(), maxLife, myMutex, XrdOfsEvr::theClient::Next, XrdOfsEvr::theClient::Path, XrdOucEICB::Same(), sendEvent(), and XrdSysMutex::UnLock().

Referenced by XrdOfsEvr::theClient::Done().

void XrdOfsEvr::eventStage (  )  [private]

Definition at line 251 of file XrdOfsEvr.cc.

References XrdOfsEvr::theEvent::aClient, XrdOfsStats::Add(), XrdCmsClient::Added(), Balancer, XrdOfsStats::Data, eDest, eMsg, XrdSysError::Emsg(), eventFIFO, Events, XrdOfsEvr::theEvent::finalMsg, XrdOfsEvr::theEvent::finalRC, XrdOucStream::GetToken(), XrdOfsEvr::theEvent::Happened, XrdSysMutex::Lock(), maxLife, myMutex, XrdOfsStats::StatsData::numSeventOK, OfsStats, XrdCmsClient::Removed(), sendEvent(), and XrdSysMutex::UnLock().

Referenced by recvEvents().

void XrdOfsEvr::sendEvent ( theEvent ep  )  [private]

Definition at line 314 of file XrdOfsEvr.cc.

References XrdOfsEvr::theEvent::aClient, deferQ, XrdOucEICB::Done(), XrdOfsEvr::theClient::evtCB, XrdOfsEvr::theClient::evtCBarg, XrdOfsEvr::theEvent::finalMsg, XrdOfsEvr::theEvent::finalRC, mySem, XrdOfsEvr::theClient::Next, XrdSysSemaphore::Post(), runQ, XrdOucErrInfo::setErrInfo(), SFS_ERROR, SFS_OK, and XrdOfsEvr::theClient::User.

Referenced by eventStage(), and Work4Event().


Member Data Documentation

const int XrdOfsEvr::maxLife = (8*60*60) [static, private]

Definition at line 87 of file XrdOfsEvr.hh.

Referenced by eventStage(), flushEvents(), and Work4Event().

XrdSysMutex XrdOfsEvr::myMutex [private]

Definition at line 88 of file XrdOfsEvr.hh.

Referenced by eventStage(), flushEvents(), Work4Event(), and ~XrdOfsEvr().

XrdSysSemaphore XrdOfsEvr::mySem [private]

Definition at line 89 of file XrdOfsEvr.hh.

Referenced by flushEvents(), and sendEvent().

XrdOucStream XrdOfsEvr::eventFIFO [private]

Definition at line 90 of file XrdOfsEvr.hh.

Referenced by eventStage(), recvEvents(), and ~XrdOfsEvr().

XrdSysError* XrdOfsEvr::eDest [private]

Definition at line 91 of file XrdOfsEvr.hh.

Referenced by eventStage(), Init(), and recvEvents().

XrdCmsClient* XrdOfsEvr::Balancer [private]

Definition at line 92 of file XrdOfsEvr.hh.

Referenced by eventStage(), and Init().

theClient* XrdOfsEvr::deferQ [private]

Definition at line 93 of file XrdOfsEvr.hh.

Referenced by flushEvents(), sendEvent(), and XrdOfsEvr().

int XrdOfsEvr::runQ [private]

Definition at line 94 of file XrdOfsEvr.hh.

Referenced by flushEvents(), sendEvent(), and XrdOfsEvr().

int XrdOfsEvr::msgFD [private]

Definition at line 95 of file XrdOfsEvr.hh.

Referenced by Init(), and recvEvents().

XrdOucHash<theEvent> XrdOfsEvr::Events [private]

Definition at line 97 of file XrdOfsEvr.hh.

Referenced by eventStage(), flushEvents(), and Work4Event().


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