Loading...
Searching...
No Matches
XrdSys::IOEvents::PollerInit Class Reference
Inheritance diagram for XrdSys::IOEvents::PollerInit:
Collaboration diagram for XrdSys::IOEvents::PollerInit:

## Public Member Functions

| PollerInit ()
| ~PollerInit ()
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 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 ()
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 }
Static Public Member Functions inherited from XrdSys::IOEvents::Poller
static Poller * | Create (int &eNum, const char **eTxt=0, int crOpts=0)
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()

## Detailed Description

Definition at line 205 of file XrdSysIOEvents.cc.

## Constructor & Destructor Documentation

## PollerInit()

XrdSys::IOEvents::PollerInit::PollerInit | ( |  | ) |

inline

Definition at line 209 of file XrdSysIOEvents.cc.

: Poller(-1, -1) {}
XrdSys::IOEvents::Poller::Poller
Poller(int cFD, int rFD)
Definition XrdSysIOEvents.cc:571

References XrdSys::IOEvents::Poller::Poller().

Here is the call graph for this function:

## ~PollerInit()

XrdSys::IOEvents::PollerInit::~PollerInit | ( |  | ) |

inline

Definition at line 210 of file XrdSysIOEvents.cc.

{}

## Member Function Documentation

## Begin()

void XrdSys::IOEvents::PollerInit::Begin | ( | XrdSysSemaphore * | syncp,
|  | int & | rc,
|  | const char ** | eTxt )

inline protected virtual

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.

{}

## Exclude()

void XrdSys::IOEvents::PollerInit::Exclude | ( | Channel * | cP,
|  | bool & | isLocked,
|  | bool | dover = 1 )

inline protected virtual

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.

{}

References XrdSys::IOEvents::Poller::Channel.

Here is the call graph for this function:

## Include()

bool XrdSys::IOEvents::PollerInit::Include | ( | Channel * | cP,
|  | int & | eNum,
|  | const char ** | eTxt,
|  | bool & | isLocked )

inline protected virtual

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.

{eNum = EPROTO;
if (eTxt) *eTxt = "initializing channel";
return false;
}

References XrdSys::IOEvents::Poller::Channel.

Here is the call graph for this function:

## Modify()

bool XrdSys::IOEvents::PollerInit::Modify | ( | Channel * | cP,
|  | int & | eNum,
|  | const char ** | eTxt,
|  | bool & | isLocked )

inline protected virtual

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.

{bool rc = Init(cP, eNum, eTxt, isLocked);
IF_TRACE(Modify,cP->GetFD(), "Init() returned " <<BOOLNAME(rc));
return rc;
}
IF_TRACE
#define IF_TRACE(x, fd, y)
Definition XrdSysIOEvents.cc:93
BOOLNAME
#define BOOLNAME(x)
Definition XrdSysIOEvents.cc:84
XrdSys::IOEvents::PollerInit::Modify
bool Modify(Channel *cP, int &eNum, const char **eTxt, bool &isLocked)
Definition XrdSysIOEvents.cc:227
XrdSys::IOEvents::Poller::Init
bool Init(Channel *cP, int &eNum, const char **eTxt, bool &isLockd)
Definition XrdSysIOEvents.cc:909

References BOOLNAME, XrdSys::IOEvents::Poller::Channel, XrdSys::IOEvents::Channel::GetFD(), IF_TRACE, XrdSys::IOEvents::Poller::Init(), and Modify().

Referenced by Modify().

Here is the call graph for this function:
Here is the caller graph for this function:

## Shutdown()

void XrdSys::IOEvents::PollerInit::Shutdown | ( |  | ) |

inline protected virtual

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.

{}

## Member Data Documentation

## doTrace

bool XrdSys::IOEvents::PollerInit::doTrace = (getenv("XrdSysIOE_TRACE") != 0)

static

Definition at line 213 of file XrdSysIOEvents.cc.

## traceMTX

XrdSysMutex XrdSys::IOEvents::PollerInit::traceMTX

static

Definition at line 212 of file XrdSysIOEvents.cc.

The documentation for this class was generated from the following file:

- XrdSysIOEvents.cc