#include <XrdPoll.hh>
Inheritance diagram for XrdPoll:

Public Member Functions | |
| virtual void | Disable (XrdLink *lp, const char *etxt=0)=0 |
| virtual int | Enable (XrdLink *lp)=0 |
| virtual void | Start (XrdSysSemaphore *syncp, int &rc)=0 |
| XrdPoll () | |
| virtual | ~XrdPoll () |
Static Public Member Functions | |
| static int | Attach (XrdLink *lp) |
| static void | Detach (XrdLink *lp) |
| static int | Finish (XrdLink *lp, const char *etxt=0) |
| static char * | Poll2Text (short events) |
| static int | Setup (int numfd) |
| static int | Stats (char *buff, int blen, int do_sync=0) |
Public Attributes | |
| int | PID |
| pthread_t | TID |
Static Public Attributes | |
| static XrdPoll * | Pollers [XRD_NUMPOLLERS] |
Protected Member Functions | |
| int | getRequest () |
| virtual void | Exclude (XrdLink *lp)=0 |
| virtual int | Include (XrdLink *lp)=0 |
Static Protected Member Functions | |
| static XrdPoll * | newPoller (int pollid, int numfd) |
Protected Attributes | |
| XrdSysMutex | PollPipe |
| pollfd | PipePoll |
| int | CmdFD |
| int | ReqFD |
| PipeData | ReqBuff |
| char * | PipeBuff |
| int | PipeBlen |
| int | numEnabled |
| int | numEvents |
| int | numInterrupts |
Static Protected Attributes | |
| static const char * | TraceID |
Private Attributes | |
| int | numAttached |
Static Private Attributes | |
| static XrdSysMutex | doingAttach |
Classes | |
| struct | PipeData |
Definition at line 22 of file XrdPoll.hh.
| XrdPoll::XrdPoll | ( | ) |
Definition at line 97 of file XrdPoll.cc.
References CmdFD, XrdSysError::Emsg(), pollfd::events, F_SETFD, fcntl(), pollfd::fd, FD_CLOEXEC, numAttached, numEnabled, numEvents, numInterrupts, pipe, PipeBlen, PipeBuff, PipePoll, POLLIN, POLLRDNORM, ReqFD, and TID.
| virtual XrdPoll::~XrdPoll | ( | ) | [inline, virtual] |
Definition at line 72 of file XrdPoll.hh.
| int XrdPoll::Attach | ( | XrdLink * | lp | ) | [static] |
Definition at line 121 of file XrdPoll.cc.
References doingAttach, XrdLink::FD, i, if(), Include(), XrdSysMutex::Lock(), numAttached, PID, XrdLink::Poller, Pollers, TRACEI, XrdSysMutex::UnLock(), and XRD_NUMPOLLERS.
Referenced by XrdProofdProofServMgr::Accept(), and XrdProtLoad::Process().
| void XrdPoll::Detach | ( | XrdLink * | lp | ) | [static] |
Definition at line 153 of file XrdPoll.cc.
References doingAttach, XrdSysError::Emsg(), Exclude(), XrdLink::FD, XrdLink::ID, XrdSysMutex::Lock(), numAttached, PID, XrdLink::Poller, TRACEI, and XrdSysMutex::UnLock().
Referenced by XrdLink::Close().
| virtual void XrdPoll::Disable | ( | XrdLink * | lp, | |
| const char * | etxt = 0 | |||
| ) | [pure virtual] |
Referenced by XrdLinkScan::idleScan(), and XrdLink::Terminate().
| virtual int XrdPoll::Enable | ( | XrdLink * | lp | ) | [pure virtual] |
Referenced by XrdLink::DoIt().
| int XrdPoll::Finish | ( | XrdLink * | lp, | |
| const char * | etxt = 0 | |||
| ) | [static] |
Definition at line 179 of file XrdPoll.cc.
References XrdLink::Etext, XrdLink::FD, free(), XrdLink::ProtoAlt, XrdLink::Protocol, and TRACEI.
| char * XrdPoll::Poll2Text | ( | short | events | ) | [static] |
Definition at line 250 of file XrdPoll.cc.
References POLLERR, POLLHUP, POLLNVAL, and sprintf().
Referenced by XrdLink::Peek(), XrdLink::Recv(), and XrdLink::RecvAll().
| int XrdPoll::Setup | ( | int | numfd | ) | [static] |
Definition at line 269 of file XrdPoll.cc.
References XrdSysError::Emsg(), i, newPoller(), PID, XrdPollArg::Poller, Pollers, XrdPollArg::retcode, XrdSysThread::Run(), TID, TRACE, XRD_NUMPOLLERS, XrdStartPolling(), and XRDSYSTHREAD_BIND.
Referenced by XrdConfig::Setup().
| virtual void XrdPoll::Start | ( | XrdSysSemaphore * | syncp, | |
| int & | rc | |||
| ) | [pure virtual] |
Referenced by XrdStartPolling().
| int XrdPoll::Stats | ( | char * | buff, | |
| int | blen, | |||
| int | do_sync = 0 | |||
| ) | [static] |
Definition at line 310 of file XrdPoll.cc.
References i, numAttached, numEnabled, numEvents, numInterrupts, Pollers, snprintf, and XRD_NUMPOLLERS.
Referenced by XrdStats::Stats().
| int XrdPoll::getRequest | ( | ) | [protected] |
| static XrdPoll* XrdPoll::newPoller | ( | int | pollid, | |
| int | numfd | |||
| ) | [static, protected] |
Referenced by Setup().
| int XrdPoll::PID |
Definition at line 64 of file XrdPoll.hh.
Referenced by Attach(), Detach(), getRequest(), and Setup().
XrdPoll * XrdPoll::Pollers [static] |
const char * XrdPoll::TraceID [static, protected] |
Definition at line 76 of file XrdPoll.hh.
XrdSysMutex XrdPoll::PollPipe [protected] |
Definition at line 97 of file XrdPoll.hh.
struct pollfd XrdPoll::PipePoll [protected] |
int XrdPoll::CmdFD [protected] |
int XrdPoll::ReqFD [protected] |
PipeData XrdPoll::ReqBuff [protected] |
char* XrdPoll::PipeBuff [protected] |
int XrdPoll::PipeBlen [protected] |
int XrdPoll::numEnabled [protected] |
int XrdPoll::numEvents [protected] |
int XrdPoll::numInterrupts [protected] |
XrdSysMutex XrdPoll::doingAttach [static, private] |
int XrdPoll::numAttached [private] |
1.5.1