XrdPollDev.hh

Go to the documentation of this file.
00001 #ifndef __XRD_POLLDEV_H__
00002 #define __XRD_POLLDEV_H__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                         X r d P o l l D e v . h h                          */
00006 /*                                                                            */
00007 /* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University  */
00008 /*       All Rights Reserved. See XrdInfo.cc for complete License Terms       */
00009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00010 /*              DE-AC03-76-SFO0515 with the Department of Energy              */
00011 /******************************************************************************/
00012 
00013 //        $Id: XrdPollDev.hh 24468 2008-06-22 16:47:03Z ganis $
00014 
00015 #include <poll.h>
00016 
00017 #include "Xrd/XrdPoll.hh"
00018   
00019 class XrdPollDev : public XrdPoll
00020 {
00021 public:
00022 
00023        void Disable(XrdLink *lp, const char *etxt=0);
00024 
00025        int   Enable(XrdLink *lp);
00026 
00027        void Start(XrdSysSemaphore *syncp, int &rc);
00028 
00029             XrdPollDev(struct pollfd *ptab, int numfd, int pfd)
00030                        {PollTab = ptab; PollMax = numfd; PollDfd = pfd;}
00031            ~XrdPollDev();
00032 
00033 protected:
00034        void Exclude(XrdLink *lp);
00035        int  Include(XrdLink *lp) {return 1;}
00036 
00037 private:
00038 
00039 void doRequests(int maxreq);
00040 void LogEvent(struct pollfd *pp);
00041 int  sendCmd(char *cmdbuff, int cmdblen);
00042 
00043 struct pollfd *PollTab;
00044        int     PollDfd;
00045        int     PollMax;
00046 };
00047 #endif

Generated on Tue Jul 5 14:46:15 2011 for ROOT_528-00b_version by  doxygen 1.5.1