![]() |
XRootD
|
Public Member Functions | |
PollerInit () | |
~PollerInit () | |
![]() | |
Poller (int cFD, int rFD) | |
virtual | ~Poller () |
Destructor. Stop() is effecively called when this object is deleted. | |
void | Stop () |
Static Public Attributes | |
static bool | doTrace = (getenv("XrdSysIOE_TRACE") != 0) |
static XrdSysMutex | traceMTX |
Protected Member Functions | |
void | Begin (XrdSysSemaphore *syncp, int &rc, const char **eTxt) |
void | Exclude (Channel *cP, bool &isLocked, bool dover=1) |
bool | Include (Channel *cP, int &eNum, const char **eTxt, bool &isLocked) |
bool | Modify (Channel *cP, int &eNum, const char **eTxt, bool &isLocked) |
void | Shutdown () |
![]() | |
virtual void | Begin (XrdSysSemaphore *syncp, int &rc, const char **eTxt)=0 |
void | CbkTMO () |
bool | CbkXeq (Channel *cP, int events, int eNum, const char *eTxt) |
CPP_ATOMIC_TYPE (bool) wakePend | |
virtual void | Exclude (Channel *cP, bool &isLocked, bool dover=1)=0 |
int | GetFault (Channel *cP) |
int | GetPollEnt (Channel *cP) |
int | GetRequest () |
virtual bool | Include (Channel *cP, int &eNum, const char **eTxt, bool &isLocked)=0 |
bool | Init (Channel *cP, int &eNum, const char **eTxt, bool &isLockd) |
void | LockChannel (Channel *cP) |
virtual bool | Modify (Channel *cP, int &eNum, const char **eTxt, bool &isLocked)=0 |
int | Poll2Enum (short events) |
int | SendCmd (PipeData &cmd) |
void | SetPollEnt (Channel *cP, int ptEnt) |
virtual void | Shutdown ()=0 |
bool | TmoAdd (Channel *cP, int tmoSet) |
void | TmoDel (Channel *cP) |
int | TmoGet () |
void | UnLockChannel (Channel *cP) |
Additional Inherited Members | |
![]() | |
enum | CreateOpts { optTOM } |
![]() | |
static Poller * | Create (int &eNum, const char **eTxt=0, int crOpts=0) |
![]() | |
Channel * | attBase |
bool | chDead |
int | cmdFD |
int | pipeBlen |
char * | pipeBuff |
struct pollfd | pipePoll |
pthread_t | pollTid |
PipeData | reqBuff |
int | reqFD |
Channel * | tmoBase |
unsigned char | tmoMask |
![]() | |
static time_t | maxTime = (sizeof(time_t) == 8 ? 0x7fffffffffffffffLL : 0x7fffffff) |
static pid_t | parentPID = getpid() |
Definition at line 205 of file XrdSysIOEvents.cc.
|
inline |
Definition at line 209 of file XrdSysIOEvents.cc.
|
inline |
Definition at line 210 of file XrdSysIOEvents.cc.
|
inlineprotectedvirtual |
Start the polling event loop. An implementation must be supplied. Begin() is called via the internal BootStrap class from a new thread.
Implements XrdSys::IOEvents::Poller.
Definition at line 217 of file XrdSysIOEvents.cc.
|
inlineprotectedvirtual |
Remove a channel to the poll set. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 219 of file XrdSysIOEvents.cc.
|
inlineprotectedvirtual |
Add a channel to the poll set. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 221 of file XrdSysIOEvents.cc.
|
inlineprotectedvirtual |
Modify the event status of a channel. An implementation must be supplied. The channel is locked when this method is called but must be unlocked by the method if a command is sent to the poller thread and isLocked set to false.
Implements XrdSys::IOEvents::Poller.
Definition at line 227 of file XrdSysIOEvents.cc.
References BOOLNAME, XrdSys::IOEvents::Channel::GetFD(), IF_TRACE, XrdSys::IOEvents::Poller::Init(), and Modify().
Referenced by Modify().
|
inlineprotectedvirtual |
Shutdown the poller. An implementation must be supplied. The shutdown method must release any allocated storage and close private file descriptors. The polling thread will have already been terminated and x-thread pipe closed. Warning: the derived destructor must call Stop() and do nothing else!
Implements XrdSys::IOEvents::Poller.
Definition at line 233 of file XrdSysIOEvents.cc.
|
static |
Definition at line 213 of file XrdSysIOEvents.cc.
|
static |
Definition at line 212 of file XrdSysIOEvents.cc.