Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

CFdMonitor Class Reference

#include <CFdMonitor.h>

Inheritance diagram for CFdMonitor:

CEventMonitor CRegisteredObject CNamedObject CServerMonitor List of all members.

Public Types

enum  FdConditions { FD_READABLE = 0, FD_WRITABLE = 1, FD_EXCEPTION = 2 }

Public Member Functions

 CFdMonitor (int am_nFd, bool am_fTimedWait=true)
 CFdMonitor (const STD(string)&rName, int am_nFd, bool am_fTimedWait=true)
 CFdMonitor (const char *pName, int am_nFd, bool am_fTimedWait=true)
int operator== (const CFdMonitor &aCFdMonitor) const
virtual ~CFdMonitor ()
int getFd () const
unsigned int getConditionMask () const
int getLastEventMask () const
void MonitorReadable (bool fReadable=true)
void MonitorWritable (bool fWritable=true)
void MonitorExceptions (bool fException=true)
virtual CEventMonitor::result operator() ()
virtual STD (string) DescribeSelf()

Protected Member Functions

void setFd (const int am_nFd)
void setConditionMask (const unsigned int am_nConditionMask)
void setLastEventMask (const int am_fLastEventMask)

Private Member Functions

 CFdMonitor (const CRegisteredObject &aCRegisteredObject)
CFdMonitor operator= (const CRegisteredObject &aCRegisteredObject)
 Assignment is forbidden for now.

Private Attributes

int m_nFd
unsigned int m_nConditionMask
int m_fLastEventMask

Detailed Description

This file defines the CFdMonitor class. Monitors activity on a file descriptor. A file descriptior can be monitored for the logical or of any of the following conditions: Readable Writable Exception

Monitoring is done via the select(2) system service. Note that this can yield some unexpected results. For example, in some operating systems, tape drives are never considered readable without blocking.

Author: Jason Venema NSCL Michigan State University East Lansing, MI 48824-1321 mailto:venemaja@msu.edu

Definition at line 319 of file CFdMonitor.h.


Member Enumeration Documentation

enum CFdMonitor::FdConditions
 

Mask of the last set of bits to be detected

Enumeration values:
FD_READABLE 
FD_WRITABLE 
FD_EXCEPTION 

Definition at line 329 of file CFdMonitor.h.


Constructor & Destructor Documentation

CFdMonitor::CFdMonitor int  am_nFd,
bool  am_fTimedWait = true
[inline]
 

Definition at line 338 of file CFdMonitor.h.

References CNamedObject::AppendClassInfo(), m_fLastEventMask, m_nConditionMask, and m_nFd.

CFdMonitor::CFdMonitor const STD(string)&  rName,
int  am_nFd,
bool  am_fTimedWait = true
[inline]
 

Definition at line 345 of file CFdMonitor.h.

References CNamedObject::AppendClassInfo(), m_fLastEventMask, m_nConditionMask, and m_nFd.

CFdMonitor::CFdMonitor const char *  pName,
int  am_nFd,
bool  am_fTimedWait = true
[inline]
 

Definition at line 352 of file CFdMonitor.h.

References CNamedObject::AppendClassInfo(), m_fLastEventMask, m_nConditionMask, and m_nFd.

virtual CFdMonitor::~CFdMonitor  )  [inline, virtual]
 

Definition at line 369 of file CFdMonitor.h.

CFdMonitor::CFdMonitor const CRegisteredObject aCRegisteredObject  )  [private]
 


Member Function Documentation

unsigned int CFdMonitor::getConditionMask  )  const [inline]
 

Definition at line 386 of file CFdMonitor.h.

int CFdMonitor::getFd  )  const [inline]
 

Definition at line 381 of file CFdMonitor.h.

Referenced by CFdReactor::OnEvent().

int CFdMonitor::getLastEventMask  )  const [inline]
 

Definition at line 391 of file CFdMonitor.h.

Referenced by CFdReactor::OnEvent().

void CFdMonitor::MonitorExceptions bool  fException = true  ) 
 

Operation Type: Mutator

Purpose: Sets or clears the FD_EXCEPTION bit in m_nConditionMask.

Definition at line 349 of file CFdMonitor.cpp.

References m_nConditionMask.

void CFdMonitor::MonitorReadable bool  fReadable = true  ) 
 

Operation Type: Mutator

Purpose: Sets or clears the FD_READABLE bit in m_nConditionMask.

Definition at line 319 of file CFdMonitor.cpp.

References m_nConditionMask.

void CFdMonitor::MonitorWritable bool  fWritable = true  ) 
 

Operation Type: Mutator

Purpose: Sets or clears the FD_WRITABLE bit in the m_nConditionMask attribute.

Definition at line 334 of file CFdMonitor.cpp.

References m_nConditionMask.

CEventMonitor::result CFdMonitor::operator()  )  [virtual]
 

Operation Type: Interface Implementation

Purpose:

Implements a wait for a single file descriptor event as described in the mask. Returns one of: Occured - one of the masked conditions occured. TimedOut - Timeout was enabled and none of the conditions occured within the timeout. Error - An error condition ocurred.

Implements CEventMonitor.

Reimplemented in CServerMonitor.

Definition at line 372 of file CFdMonitor.cpp.

References CEventMonitor::getTimedWait(), CEventMonitor::getTimeout(), m_fLastEventMask, m_nConditionMask, m_nFd, and NULL.

CFdMonitor CFdMonitor::operator= const CRegisteredObject aCRegisteredObject  )  [private]
 

Assignment is forbidden for now.

Reimplemented from CEventMonitor.

int CFdMonitor::operator== const CFdMonitor aCFdMonitor  )  const [inline]
 

Definition at line 360 of file CFdMonitor.h.

References m_fLastEventMask, m_nConditionMask, m_nFd, and CEventMonitor::operator==().

void CFdMonitor::setConditionMask const unsigned int  am_nConditionMask  )  [inline, protected]
 

Definition at line 404 of file CFdMonitor.h.

References m_nConditionMask.

void CFdMonitor::setFd const int  am_nFd  )  [inline, protected]
 

Definition at line 399 of file CFdMonitor.h.

References m_nFd.

void CFdMonitor::setLastEventMask const int  am_fLastEventMask  )  [inline, protected]
 

Definition at line 409 of file CFdMonitor.h.

References m_fLastEventMask.

virtual CFdMonitor::STD string   )  [virtual]
 

The name of the object

Reimplemented from CNamedObject.

Reimplemented in CServerMonitor.


Member Data Documentation

int CFdMonitor::m_fLastEventMask [private]
 

Conditions which will be monitored by the monitor for the file descriptor.

Definition at line 324 of file CFdMonitor.h.

Referenced by CFdMonitor(), operator()(), operator==(), and setLastEventMask().

unsigned int CFdMonitor::m_nConditionMask [private]
 

File descriptor which will be monitored by the monitor

Definition at line 322 of file CFdMonitor.h.

Referenced by CFdMonitor(), MonitorExceptions(), MonitorReadable(), MonitorWritable(), operator()(), operator==(), and setConditionMask().

int CFdMonitor::m_nFd [private]
 

Definition at line 321 of file CFdMonitor.h.

Referenced by CFdMonitor(), operator()(), operator==(), and setFd().


The documentation for this class was generated from the following files:
Generated on Thu Jan 6 16:58:44 2005 for Spectrodaq External Event Framework by  doxygen 1.3.9.1