1 #ifndef __XRDSYSIOEVENTS_HH__
2 #define __XRDSYSIOEVENTS_HH__
35 #include <sys/types.h>
112 virtual bool Event(
Channel *chP,
void *cbArg,
int evFlags) = 0;
127 virtual void Fatal(
Channel *chP,
void *cbArg,
int eNum,
const char *eTxt)
129 (void)chP; (void)cbArg; (void)eNum; (void)eTxt;
144 (void)chP; (void)cbArg;
201 bool Disable(
int events,
const char **eText=0);
237 bool Enable(
int events,
int timeout=0,
const char **eText=0);
420 bool CbkXeq(
Channel *cP,
int events,
int eNum,
const char *eTxt);
424 bool Init(
Channel *cP,
int &eNum,
const char **eTxt,
bool &isLockd);
443 virtual void Exclude(
Channel *cP,
bool &isLocked,
bool dover=1) = 0;
Channel * prev
Definition: XrdSysIOEvents.hh:320
time_t wrDL
Definition: XrdSysIOEvents.hh:336
static Poller * newPoller(int pFD[2], int &eNum, const char **eTxt)
Definition: XrdSysIOEvents.hh:482
Definition: XrdSysPthread.hh:168
int GetEvents()
Definition: XrdSysIOEvents.hh:256
char chEvents
Definition: XrdSysIOEvents.hh:339
virtual void Exclude(Channel *cP, bool &isLocked, bool dover=1)=0
char dlType
Definition: XrdSysIOEvents.hh:338
int reqFD
Definition: XrdSysIOEvents.hh:479
Channel * attBase
Definition: XrdSysIOEvents.hh:472
virtual void Stop(Channel *chP, void *cbArg)
Definition: XrdSysIOEvents.hh:142
Status
Definition: XrdSysIOEvents.hh:341
Definition: XrdSysIOEvents.hh:483
virtual void Fatal(Channel *chP, void *cbArg, int eNum, const char *eTxt)
Definition: XrdSysIOEvents.hh:127
int GetFD()
Definition: XrdSysIOEvents.hh:265
int cmdFD
Definition: XrdSysIOEvents.hh:478
int SendCmd(PipeData &cmd)
Write and Write Timeouts.
Definition: XrdSysIOEvents.hh:182
dlQ attList
Definition: XrdSysIOEvents.hh:324
time_t deadLine
Definition: XrdSysIOEvents.hh:337
virtual bool Include(Channel *cP, int &eNum, const char **eTxt, bool &isLocked)=0
Channel * next
Definition: XrdSysIOEvents.hh:320
virtual ~CallBack()
Destructor.
Definition: XrdSysIOEvents.hh:157
int Poll2Enum(short events)
virtual ~Poller()
Destructor. Stop() is effecively called when this object is deleted.
Definition: XrdSysIOEvents.hh:414
Definition: XrdSysIOEvents.hh:341
virtual void Shutdown()=0
All of the above.
Definition: XrdSysIOEvents.hh:186
char reMod
Definition: XrdSysIOEvents.hh:344
virtual bool Modify(Channel *cP, int &eNum, const char **eTxt, bool &isLocked)=0
Poller * chPoller
Definition: XrdSysIOEvents.hh:327
char inPSet
Definition: XrdSysIOEvents.hh:343
Channel * tmoBase
Definition: XrdSysIOEvents.hh:473
short chFault
Definition: XrdSysIOEvents.hh:345
Error event non-r/w specific.
Definition: XrdSysIOEvents.hh:184
Poller stop event.
Definition: XrdSysIOEvents.hh:185
Read and Read Timeouts.
Definition: XrdSysIOEvents.hh:181
Definition: XrdSysIOEvents.hh:341
XrdSysRecMutex chMutex
Definition: XrdSysIOEvents.hh:322
char * pipeBuff
Definition: XrdSysIOEvents.hh:486
Definition: XrdSysIOEvents.hh:341
Definition: XrdSysPthread.hh:140
bool wakePend
Definition: XrdSysIOEvents.hh:488
short ent
Definition: XrdSysIOEvents.hh:480
Channel(Poller *pollP, int fd, CallBack *cbP=0, void *cbArg=0)
Definition: XrdSysIOEvents.hh:77
char chStat
Definition: XrdSysIOEvents.hh:340
Definition: XrdSysIOEvents.hh:480
void UnLockChannel(Channel *cP)
Definition: XrdSysIOEvents.hh:432
pthread_t pollTid
Definition: XrdSysIOEvents.hh:475
int GetPollEnt(Channel *cP)
Definition: XrdSysIOEvents.hh:422
void Reset(Poller *thePoller, int fd, int eNum=0)
void SetCallBack(CallBack *cbP, void *cbArg=0)
void SetPollEnt(Channel *cP, int ptEnt)
void GetCallBack(CallBack **cbP, void **cbArg)
Read timeout.
Definition: XrdSysIOEvents.hh:88
Definition: XrdSysPthread.hh:329
Definition: XrdSysIOEvents.hh:362
int chFD
Definition: XrdSysIOEvents.hh:331
EventType
Events that may cause a callback object to be activated.
Definition: XrdSysIOEvents.hh:85
Definition: XrdSysIOEvents.hh:320
Definition: XrdSysIOEvents.hh:482
char req
Definition: XrdSysIOEvents.hh:480
static Poller * Create(int &eNum, const char **eTxt=0)
Writing won't block.
Definition: XrdSysIOEvents.hh:89
Definition: XrdSysIOEvents.hh:482
int chRTO
Definition: XrdSysIOEvents.hh:333
char inTOQ
Definition: XrdSysIOEvents.hh:342
Write timeout.
Definition: XrdSysIOEvents.hh:90
XrdSysSemaphore * theSem
Definition: XrdSysIOEvents.hh:481
void Detach(Channel *cP, bool &isLocked, bool keep=true)
bool Init(Channel *cP, int &eNum, const char **eTxt, bool &isLockd)
bool Enable(int events, int timeout=0, const char **eText=0)
virtual void Begin(XrdSysSemaphore *syncp, int &rc, const char **eTxt)=0
char evt
Definition: XrdSysIOEvents.hh:480
Poller * chPollXQ
Definition: XrdSysIOEvents.hh:328
void Lock()
Definition: XrdSysPthread.hh:149
bool chDead
Definition: XrdSysIOEvents.hh:489
Definition: XrdSysIOEvents.hh:483
Both of the above.
Definition: XrdSysIOEvents.hh:183
int fd
Definition: XrdSysIOEvents.hh:480
XrdSysMutex toMutex
Definition: XrdSysIOEvents.hh:505
Definition: XrdSysIOEvents.hh:483
int chWTO
Definition: XrdSysIOEvents.hh:334
virtual bool Event(Channel *chP, void *cbArg, int evFlags)=0
static time_t maxTime
Definition: XrdSysIOEvents.hh:491
Definition: XrdSysIOEvents.hh:172
int pollEnt
Definition: XrdSysIOEvents.hh:332
XrdSysMutex adMutex
Definition: XrdSysIOEvents.hh:504
CallBack()
Constructor.
Definition: XrdSysIOEvents.hh:151
friend class BootStrap
Definition: XrdSysIOEvents.hh:364
EventCode
Event bits used to feed Enable() and Disable(); can be or'd.
Definition: XrdSysIOEvents.hh:181
void UnLock()
Definition: XrdSysPthread.hh:151
struct pollfd pipePoll
Definition: XrdSysIOEvents.hh:477
void LockChannel(Channel *cP)
Definition: XrdSysIOEvents.hh:425
dlQ tmoList
Definition: XrdSysIOEvents.hh:325
CallBack * chCB
Definition: XrdSysIOEvents.hh:329
bool Disable(int events, const char **eText=0)
cmd
Definition: XrdSysIOEvents.hh:482
bool CbkXeq(Channel *cP, int events, int eNum, const char *eTxt)
void * chCBA
Definition: XrdSysIOEvents.hh:330
PipeData reqBuff
Definition: XrdSysIOEvents.hh:485
int GetFault(Channel *cP)
Definition: XrdSysIOEvents.hh:421
int pipeBlen
Definition: XrdSysIOEvents.hh:487
time_t rdDL
Definition: XrdSysIOEvents.hh:335
New data has arrived.
Definition: XrdSysIOEvents.hh:87