XrdPoll Class Reference

#include <XrdPoll.hh>

Inheritance diagram for XrdPoll:
Inheritance graph
[legend]
Collaboration diagram for XrdPoll:
Collaboration graph
[legend]

List of all members.

Classes

struct  PipeData

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 void Init (XrdSysError *eP, XrdOucTrace *tP, XrdScheduler *sP)
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 XrdPollPollers [XRD_NUMPOLLERS]

Protected Member Functions

int getRequest ()
virtual void Exclude (XrdLink *lp)=0
virtual int Include (XrdLink *lp)=0

Static Protected Member Functions

static XrdPollnewPoller (int pollid, int numfd)

Protected Attributes

XrdSysMutex PollPipe
struct 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
static XrdOucTraceXrdTrace
static XrdSysErrorXrdLog
static XrdSchedulerXrdSched

Private Attributes

int numAttached

Static Private Attributes

static XrdSysMutex doingAttach

Constructor & Destructor Documentation

XrdPoll::XrdPoll (  ) 
virtual XrdPoll::~XrdPoll (  )  [inline, virtual]

Member Function Documentation

static int XrdPoll::Attach ( XrdLink lp  )  [static]
static void XrdPoll::Detach ( XrdLink lp  )  [static]

Reimplemented in XrdPollPoll.

virtual void XrdPoll::Disable ( XrdLink lp,
const char *  etxt = 0 
) [pure virtual]

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

virtual int XrdPoll::Enable ( XrdLink lp  )  [pure virtual]

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

virtual void XrdPoll::Exclude ( XrdLink lp  )  [protected, pure virtual]

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

static int XrdPoll::Finish ( XrdLink lp,
const char *  etxt = 0 
) [static]
int XrdPoll::getRequest (  )  [protected]
virtual int XrdPoll::Include ( XrdLink lp  )  [protected, pure virtual]

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

static void XrdPoll::Init ( XrdSysError eP,
XrdOucTrace tP,
XrdScheduler sP 
) [inline, static]

References XrdLog, XrdSched, and XrdTrace.

static XrdPoll* XrdPoll::newPoller ( int  pollid,
int  numfd 
) [static, protected]
static char* XrdPoll::Poll2Text ( short  events  )  [static]
static int XrdPoll::Setup ( int  numfd  )  [static]
virtual void XrdPoll::Start ( XrdSysSemaphore syncp,
int &  rc 
) [pure virtual]

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

static int XrdPoll::Stats ( char *  buff,
int  blen,
int  do_sync = 0 
) [static]

Member Data Documentation

int XrdPoll::CmdFD [protected]
XrdSysMutex XrdPoll::doingAttach [static, private]
int XrdPoll::numAttached [private]
int XrdPoll::numEnabled [protected]
int XrdPoll::numEvents [protected]
int XrdPoll::numInterrupts [protected]
int XrdPoll::PipeBlen [protected]
char* XrdPoll::PipeBuff [protected]
struct pollfd XrdPoll::PipePoll [read, protected]
XrdPoll* XrdPoll::Pollers[XRD_NUMPOLLERS] [static]
int XrdPoll::ReqFD [protected]
pthread_t XrdPoll::TID
const char* XrdPoll::TraceID [static, protected]
XrdSysError* XrdPoll::XrdLog [static, protected]

Referenced by Init().

XrdScheduler* XrdPoll::XrdSched [static, protected]

Referenced by Init().

XrdOucTrace* XrdPoll::XrdTrace [static, protected]

Referenced by Init().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 30 Sep 2019 for xrootd by  doxygen 1.6.1