|
xrootd
|
#include <XrdOfsEvr.hh>

Classes | |
| class | theClient |
| struct | theEvent |
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 |
| XrdSysError * | eDest |
| XrdCmsClient * | Balancer |
| theClient * | deferQ |
| int | runQ |
| int | msgFD |
| XrdOucHash< theEvent > | Events |
Static Private Attributes | |
| static const int | maxLife = (8*60*60) |
| XrdOfsEvr::~XrdOfsEvr | ( | ) |
References myMutex, XrdSysMutex::Lock(), eventFIFO, XrdOucStream::Close(), and XrdSysMutex::UnLock().
| void XrdOfsEvr::eventStage | ( | ) | [private] |
References eMsg, eventFIFO, XrdOucStream::GetToken(), eDest, XrdSysError::Emsg(), XrdOfsStats::Add(), XrdOfsStats::Data, XrdOfsStats::StatsData::numSeventOK, Balancer, XrdCmsClient::Added(), XrdCmsClient::Removed(), myMutex, XrdSysMutex::Lock(), Events, XrdOucHash::Find(), XrdOucHash::Add(), maxLife, XrdOfsEvr::theEvent::finalRC, XrdOfsEvr::theEvent::finalMsg, XrdOfsEvr::theEvent::Happened, XrdOfsEvr::theEvent::aClient, sendEvent(), and XrdSysMutex::UnLock().
Referenced by recvEvents().
| void XrdOfsEvr::flushEvents | ( | ) |
References maxLife, myMutex, XrdSysMutex::Lock(), deferQ, runQ, XrdSysMutex::UnLock(), XrdSysTimer::Wait(), Events, XrdOucHash::Del(), XrdOfsEvr::theClient::Path, XrdOfsEvr::theClient::Next, XrdOucHash::Apply(), XrdOfsScrubScan(), mySem, and XrdSysSemaphore::Wait().
Referenced by XrdOfsEvFlush().
| int XrdOfsEvr::Init | ( | XrdSysError * | eObj, |
| XrdCmsClient * | trg = 0 |
||
| ) |
References eDest, Balancer, XrdSysError::Emsg(), XrdOucEnv::Export(), XrdNetSocket::Create(), XRDNET_FIFO, msgFD, XrdNetSocket::Detach(), XrdSysThread::Run(), XrdOfsEvRecv(), and XrdOfsEvFlush().
Referenced by XrdOfs::Configure().
| void XrdOfsEvr::recvEvents | ( | ) |
References EPNAME, tident, eventFIFO, XrdOucStream::Attach(), msgFD, XrdOucStream::GetLine(), DEBUG, XrdOucStream::GetToken(), eventStage(), eDest, and XrdSysError::Emsg().
Referenced by XrdOfsEvRecv().
| void XrdOfsEvr::sendEvent | ( | theEvent * | ep | ) | [private] |
References XrdOfsEvr::theEvent::finalRC, SFS_ERROR, SFS_OK, XrdOfsEvr::theEvent::aClient, XrdOfsEvr::theClient::User, XrdOfsEvr::theClient::evtCBarg, XrdOucErrInfo::setErrInfo(), XrdOfsEvr::theEvent::finalMsg, XrdOfsEvr::theClient::evtCB, XrdOucEICB::Done(), XrdOfsEvr::theClient::Next, deferQ, runQ, mySem, and XrdSysSemaphore::Post().
Referenced by Work4Event(), and eventStage().
| void XrdOfsEvr::Wait4Event | ( | const char * | path, |
| XrdOucErrInfo * | einfo | ||
| ) |
References XrdOucErrInfo::setErrCB().
Referenced by XrdOfsFile::open().
| void XrdOfsEvr::Work4Event | ( | theClient * | Client | ) |
References myMutex, XrdSysMutex::Lock(), Events, XrdOucHash::Find(), XrdOfsEvr::theClient::Path, XrdOucHash::Add(), maxLife, XrdOfsEvr::theEvent::aClient, XrdOfsEvr::theClient::evtCB, XrdOucEICB::Same(), XrdOfsEvr::theClient::evtCBarg, XrdOfsEvr::theClient::Next, XrdOfsEvr::theEvent::Happened, sendEvent(), and XrdSysMutex::UnLock().
Referenced by XrdOfsEvr::theClient::Done().
XrdCmsClient* XrdOfsEvr::Balancer [private] |
Referenced by Init(), and eventStage().
theClient* XrdOfsEvr::deferQ [private] |
Referenced by flushEvents(), sendEvent(), and XrdOfsEvr().
XrdSysError* XrdOfsEvr::eDest [private] |
Referenced by Init(), recvEvents(), and eventStage().
XrdOucStream XrdOfsEvr::eventFIFO [private] |
Referenced by ~XrdOfsEvr(), recvEvents(), and eventStage().
XrdOucHash<theEvent> XrdOfsEvr::Events [private] |
Referenced by flushEvents(), Work4Event(), and eventStage().
const int XrdOfsEvr::maxLife = (8*60*60) [static, private] |
Referenced by flushEvents(), Work4Event(), and eventStage().
int XrdOfsEvr::msgFD [private] |
Referenced by Init(), and recvEvents().
XrdSysMutex XrdOfsEvr::myMutex [private] |
Referenced by ~XrdOfsEvr(), flushEvents(), Work4Event(), and eventStage().
XrdSysSemaphore XrdOfsEvr::mySem [private] |
Referenced by flushEvents(), and sendEvent().
int XrdOfsEvr::runQ [private] |
Referenced by flushEvents(), sendEvent(), and XrdOfsEvr().
1.7.5