|
XRootD
|
Inheritance diagram for XrdSys::IOEvents::PollPort:
Collaboration diagram for XrdSys::IOEvents::PollPort:Public Member Functions | |
| PollPort (port_event_t *ptab, int numfd, int pfd, int pFD[2]) | |
| ~PollPort () | |
Public Member Functions inherited from XrdSys::IOEvents::Poller | |
| Poller (int cFD, int rFD) | |
| virtual | ~Poller () |
| Destructor. Stop() is effecively called when this object is deleted. | |
| void | Stop () |
Static Public Member Functions | |
| static int | AllocMem (void **memP, int slots) |
Static Public Member Functions inherited from XrdSys::IOEvents::Poller | |
| static Poller * | Create (int &eNum, const char **eTxt=0, int crOpts=0) |
Static Public Attributes | |
| static const int | pollER = POLLERR| POLLHUP |
| static const int | pollOK = POLLIN | POLLRDNORM | POLLPRI | POLLOUT |
| static const int | pollRD = POLLIN | POLLRDNORM | POLLPRI |
| static const int | pollWR = POLLOUT |
Protected Member Functions | |
| void | Begin (XrdSysSemaphore *syncp, int &rc, const char **eMsg) |
| timespec_t * | BegTO (timespec_t &theTO) |
| 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 () |
Protected Member Functions inherited from XrdSys::IOEvents::Poller | |
| void | CbkTMO () |
| bool | CbkXeq (Channel *cP, int events, int eNum, const char *eTxt) |
| CPP_ATOMIC_TYPE (bool) wakePend | |
| int | GetFault (Channel *cP) |
| int | GetPollEnt (Channel *cP) |
| int | GetRequest () |
| bool | Init (Channel *cP, int &eNum, const char **eTxt, bool &isLockd) |
| void | LockChannel (Channel *cP) |
| int | Poll2Enum (short events) |
| int | SendCmd (PipeData &cmd) |
| void | SetPollEnt (Channel *cP, int ptEnt) |
| bool | TmoAdd (Channel *cP, int tmoSet) |
| void | TmoDel (Channel *cP) |
| int | TmoGet () |
| void | UnLockChannel (Channel *cP) |
Additional Inherited Members | |
Public Types inherited from XrdSys::IOEvents::Poller | |
| enum | CreateOpts { optTOM } |
Protected Attributes inherited from XrdSys::IOEvents::Poller | |
| 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 Protected Attributes inherited from XrdSys::IOEvents::Poller | |
| static time_t | maxTime = (sizeof(time_t) == 8 ? 0x7fffffffffffffffLL : 0x7fffffff) |
| static pid_t | parentPID = getpid() |
Definition at line 47 of file XrdSysIOEventsPollPort.icc.
|
inline |
Definition at line 53 of file XrdSysIOEventsPollPort.icc.
|
inline |
Definition at line 57 of file XrdSysIOEventsPollPort.icc.
References XrdSys::IOEvents::Poller::Stop().
Here is the call graph for this function:
|
static |
Definition at line 155 of file XrdSysIOEventsPollPort.icc.
|
protectedvirtual |
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 172 of file XrdSysIOEventsPollPort.icc.
References ETIME, XrdSysSemaphore::Post(), and XrdSysE2T().
Here is the call graph for this function:
|
inlineprotected |
Definition at line 68 of file XrdSysIOEventsPollPort.icc.
References XrdSys::IOEvents::Poller::TmoGet().
Here is the call graph for this function:
|
protectedvirtual |
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 257 of file XrdSysIOEventsPollPort.icc.
References XrdSys::IOEvents::Poller::PipeData::fd, XrdSys::IOEvents::Channel::GetFD(), and XrdSys::IOEvents::Poller::PipeData::req.
Here is the call graph for this function:
|
protectedvirtual |
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 293 of file XrdSysIOEventsPollPort.icc.
References XrdSys::IOEvents::Channel::GetEvents(), XrdSys::IOEvents::Channel::GetFD(), XrdSys::IOEvents::Channel::readEvents, and XrdSys::IOEvents::Channel::writeEvents.
Here is the call graph for this function:
|
protectedvirtual |
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 322 of file XrdSysIOEventsPollPort.icc.
References XrdSys::IOEvents::Channel::GetEvents(), XrdSys::IOEvents::Channel::GetFD(), XrdSys::IOEvents::Channel::readEvents, and XrdSys::IOEvents::Channel::writeEvents.
Here is the call graph for this function:
|
protectedvirtual |
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 379 of file XrdSysIOEventsPollPort.icc.
References close, XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Here is the call graph for this function:
|
static |
Definition at line 59 of file XrdSysIOEventsPollPort.icc.
|
static |
Definition at line 60 of file XrdSysIOEventsPollPort.icc.
|
static |
Definition at line 61 of file XrdSysIOEventsPollPort.icc.
|
static |
Definition at line 62 of file XrdSysIOEventsPollPort.icc.