xrootd
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes | Static Private Attributes | List of all members
XrdPoll Class Referenceabstract

#include <XrdPoll.hh>

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

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::XrdPoll ( )

◆ ~XrdPoll()

virtual XrdPoll::~XrdPoll ( )
inlinevirtual

Member Function Documentation

◆ Attach()

static int XrdPoll::Attach ( XrdLink lp)
static

◆ Detach()

static void XrdPoll::Detach ( XrdLink lp)
static

◆ Disable()

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

Implemented in XrdPollE, XrdPollPoll, and XrdPollDev.

◆ Enable()

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

Implemented in XrdPollE, XrdPollPoll, and XrdPollDev.

◆ Exclude()

virtual void XrdPoll::Exclude ( XrdLink lp)
protectedpure virtual

Implemented in XrdPollE, XrdPollPoll, and XrdPollDev.

◆ Finish()

static int XrdPoll::Finish ( XrdLink lp,
const char *  etxt = 0 
)
static

◆ getRequest()

int XrdPoll::getRequest ( )
protected

◆ Include()

virtual int XrdPoll::Include ( XrdLink lp)
protectedpure virtual

Implemented in XrdPollE, XrdPollPoll, and XrdPollDev.

◆ Init()

static void XrdPoll::Init ( XrdSysError eP,
XrdOucTrace tP,
XrdScheduler sP 
)
inlinestatic

References XrdLog, XrdSched, and XrdTrace.

◆ newPoller()

static XrdPoll* XrdPoll::newPoller ( int  pollid,
int  numfd 
)
staticprotected

◆ Poll2Text()

static char* XrdPoll::Poll2Text ( short  events)
static

◆ Setup()

static int XrdPoll::Setup ( int  numfd)
static

◆ Start()

virtual void XrdPoll::Start ( XrdSysSemaphore syncp,
int &  rc 
)
pure virtual

Implemented in XrdPollE, XrdPollPoll, and XrdPollDev.

◆ Stats()

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

Member Data Documentation

◆ CmdFD

int XrdPoll::CmdFD
protected

◆ doingAttach

XrdSysMutex XrdPoll::doingAttach
staticprivate

◆ numAttached

int XrdPoll::numAttached
private

◆ numEnabled

int XrdPoll::numEnabled
protected

◆ numEvents

int XrdPoll::numEvents
protected

◆ numInterrupts

int XrdPoll::numInterrupts
protected

◆ PID

int XrdPoll::PID

◆ PipeBlen

int XrdPoll::PipeBlen
protected

◆ PipeBuff

char* XrdPoll::PipeBuff
protected

◆ PipePoll

struct pollfd XrdPoll::PipePoll
protected

◆ Pollers

XrdPoll* XrdPoll::Pollers[XRD_NUMPOLLERS]
static

◆ PollPipe

XrdSysMutex XrdPoll::PollPipe
protected

◆ ReqBuff

PipeData XrdPoll::ReqBuff
protected

◆ ReqFD

int XrdPoll::ReqFD
protected

◆ TID

pthread_t XrdPoll::TID

◆ TraceID

const char* XrdPoll::TraceID
staticprotected

◆ XrdLog

XrdSysError* XrdPoll::XrdLog
staticprotected

Referenced by Init().

◆ XrdSched

XrdScheduler* XrdPoll::XrdSched
staticprotected

Referenced by Init().

◆ XrdTrace

XrdOucTrace* XrdPoll::XrdTrace
staticprotected

Referenced by Init().


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