|
xrootd
|
#include <XrdPollDev.hh>


Public Member Functions | |
| void | Disable (XrdLink *lp, const char *etxt=0) |
| int | Enable (XrdLink *lp) |
| void | Start (XrdSysSemaphore *syncp, int &rc) |
| XrdPollDev (struct pollfd *ptab, int numfd, int pfd) | |
| ~XrdPollDev () | |
Protected Member Functions | |
| void | Exclude (XrdLink *lp) |
| int | Include (XrdLink *lp) |
Private Member Functions | |
| void | doRequests (int maxreq) |
| void | LogEvent (struct pollfd *pp) |
| int | sendCmd (char *cmdbuff, int cmdblen) |
Private Attributes | |
| struct pollfd * | PollTab |
| int | PollDfd |
| int | PollMax |
| XrdPollDev::XrdPollDev | ( | struct pollfd * | ptab, |
| int | numfd, | ||
| int | pfd | ||
| ) | [inline] |
| void XrdPollDev::Disable | ( | XrdLink * | lp, |
| const char * | etxt = 0 |
||
| ) | [virtual] |
Implements XrdPoll.
References XrdLink::isEnabled, TRACEI, XrdPoll::PID, XrdLink::FD, XrdPoll::PipeData::req, XrdPoll::PipeData::Parms, XrdPoll::PipeData::Arg, XrdPoll::PipeData::theSem, sendCmd(), XrdPoll::XrdLog, XrdSysError::Emsg(), XrdLink::ID, XrdSysSemaphore::Wait(), XrdPoll::Finish(), XrdPoll::XrdSched, and XrdScheduler::Schedule().
Referenced by Exclude().
| void XrdPollDev::doRequests | ( | int | maxreq | ) | [private] |
References XrdPoll::getRequest(), XrdPoll::ReqBuff, XrdPoll::PipeData::req, XrdPoll::PipeData::Post, XrdPoll::PipeData::Parms, XrdPoll::PipeData::theSem, XrdSysSemaphore::Post(), XrdLink::fd2link(), XrdPoll::PipeData::Arg, XrdPoll::XrdLog, XrdSysError::Emsg(), pollfd::events, XrdPoll::PipeData::EnFD, POLLIN, POLLRDNORM, XrdPoll::numEnabled, XrdPoll::PipeData::DiFD, pollfd::fd, TRACE, XrdPoll::PID, write(), PollDfd, and XrdLink::isEnabled.
Referenced by Start().
| int XrdPollDev::Enable | ( | XrdLink * | lp | ) | [virtual] |
Implements XrdPoll.
References XrdLink::isEnabled, XrdPoll::PipeData::req, XrdPoll::PipeData::Parms, XrdPoll::PipeData::Arg, XrdLink::FD, sendCmd(), XrdPoll::XrdLog, XrdSysError::Emsg(), and XrdLink::ID.
| void XrdPollDev::Exclude | ( | XrdLink * | lp | ) | [protected, virtual] |
Implements XrdPoll.
References XrdLink::isEnabled, XrdPoll::XrdLog, XrdSysError::Emsg(), XrdLink::ID, and Disable().
| void XrdPollDev::LogEvent | ( | struct pollfd * | pp | ) | [private] |
References pollfd::revents, pollfd::fd, XrdPoll::XrdLog, and XrdSysError::Emsg().
Referenced by Start().
| int XrdPollDev::sendCmd | ( | char * | cmdbuff, |
| int | cmdblen | ||
| ) | [private] |
References XrdPoll::PollPipe, XrdSysMutex::Lock(), write(), XrdPoll::CmdFD, and XrdSysMutex::UnLock().
| void XrdPollDev::Start | ( | XrdSysSemaphore * | syncp, |
| int & | rc | ||
| ) | [virtual] |
Implements XrdPoll.
References POLLIN, POLLRDNORM, PollTab, PollMax, XrdPoll::ReqFD, PollDfd, XrdPoll::XrdLog, XrdSysError::Emsg(), write(), XrdSysSemaphore::Post(), XrdPoll::numEvents, pollfd::fd, XrdLink::fd2link(), XrdLink::isEnabled, XrdLink::ID, pollfd::revents, XrdPoll::Finish(), XrdPoll::Poll2Text(), XrdJob::NextJob, LogEvent(), pollfd::events, XrdPoll::XrdSched, XrdScheduler::Schedule(), and doRequests().
int XrdPollDev::PollDfd [private] |
Referenced by XrdPollDev(), ~XrdPollDev(), Start(), and doRequests().
int XrdPollDev::PollMax [private] |
Referenced by XrdPollDev(), and Start().
struct pollfd* XrdPollDev::PollTab [private] |
Referenced by XrdPollDev(), ~XrdPollDev(), and Start().
1.7.5