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

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 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] = {0, 0, 0}

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 = "Poll"

Private Attributes

int numAttached

Static Private Attributes

static XrdSysMutex doingAttach

Constructor & Destructor Documentation

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

Member Function Documentation

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

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

Referenced by XrdLinkScan::idleScan(), and XrdLink::Terminate().

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

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

Referenced by XrdLink::DoIt().

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

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

Referenced by Detach().

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.

Referenced by Attach().

XrdPoll * XrdPoll::newPoller ( int  pollid,
int  numfd 
) [static, protected]

References close, XrdSysError::Emsg(), F_SETFD, fcntl(), FD_CLOEXEC, memalign, and open().

Referenced by Setup().

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

Implemented in XrdPollDev, XrdPollE, and XrdPollPoll.

Referenced by XrdStartPolling().

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

Member Data Documentation

int XrdPoll::CmdFD [protected]
XrdSysMutex XrdPoll::doingAttach [static, private]

Referenced by Attach(), and Detach().

int XrdPoll::numAttached [private]

Referenced by Attach(), Detach(), Stats(), and XrdPoll().

int XrdPoll::numEnabled [protected]
int XrdPoll::numEvents [protected]
int XrdPoll::numInterrupts [protected]

Referenced by XrdPollPoll::Start(), Stats(), and XrdPoll().

int XrdPoll::PipeBlen [protected]

Referenced by getRequest(), and XrdPoll().

char* XrdPoll::PipeBuff [protected]

Referenced by getRequest(), and XrdPoll().

struct pollfd XrdPoll::PipePoll [protected]

Referenced by getRequest(), and XrdPoll().

XrdPoll * XrdPoll::Pollers = {0, 0, 0} [static]

Referenced by Attach(), Setup(), and Stats().

int XrdPoll::ReqFD [protected]
pthread_t XrdPoll::TID
const char * XrdPoll::TraceID = "Poll" [static, protected]

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