Kea 3.1.5
isc::util::PollEventHandler Class Reference

File descriptor event handler class handles events for registered file descriptors. More...

#include <poll_event_handler.h>

+ Inheritance diagram for isc::util::PollEventHandler:

Public Member Functions

 PollEventHandler ()
 Constructor.
 
virtual ~PollEventHandler ()=default
 Destructor.
 
void add (int fd)
 Add file descriptor to watch for events.
 
void clear ()
 Clear registered file descriptors.
 
virtual bool hasError (int fd)
 Check if file descriptor has error.
 
bool readReady (int fd)
 Check if file descriptor is ready for read operation.
 
int waitEvent (uint32_t timeout_sec, uint32_t timeout_usec=0, bool use_timeout=true)
 Wait for events on registered file descriptors.
 
- Public Member Functions inherited from isc::util::FDEventHandler
 FDEventHandler (HandlerType type=TYPE_UNKNOWN)
 Constructor.
 
virtual ~FDEventHandler ()=default
 Destructor.
 
HandlerType type ()
 Return the event handler type.
 

Additional Inherited Members

- Public Types inherited from isc::util::FDEventHandler
enum  HandlerType : uint16_t { TYPE_UNKNOWN = 0 , TYPE_SELECT = 1 , TYPE_POLL = 2 }
 

Detailed Description

File descriptor event handler class handles events for registered file descriptors.

This class uses the OS select syscall for event handling.

Definition at line 23 of file poll_event_handler.h.

Constructor & Destructor Documentation

◆ PollEventHandler()

isc::util::PollEventHandler::PollEventHandler ( )

Constructor.

Definition at line 17 of file poll_event_handler.cc.

References isc::util::FDEventHandler::FDEventHandler(), clear(), and isc::util::FDEventHandler::TYPE_POLL.

+ Here is the call graph for this function:

◆ ~PollEventHandler()

virtual isc::util::PollEventHandler::~PollEventHandler ( )
virtualdefault

Destructor.

Member Function Documentation

◆ add()

void isc::util::PollEventHandler::add ( int fd)
virtual

Add file descriptor to watch for events.

Parameters
fdThe file descriptor.

Implements isc::util::FDEventHandler.

Definition at line 21 of file poll_event_handler.cc.

References isc_throw.

◆ clear()

void isc::util::PollEventHandler::clear ( )
virtual

Clear registered file descriptors.

Implements isc::util::FDEventHandler.

Definition at line 72 of file poll_event_handler.cc.

Referenced by PollEventHandler().

◆ hasError()

bool isc::util::PollEventHandler::hasError ( int fd)
virtual

Check if file descriptor has error.

Parameters
fdThe file descriptor.
Returns
True if file descriptor has error.

Implements isc::util::FDEventHandler.

Definition at line 62 of file poll_event_handler.cc.

References isc_throw.

◆ readReady()

bool isc::util::PollEventHandler::readReady ( int fd)
virtual

Check if file descriptor is ready for read operation.

Parameters
fdThe file descriptor.
Returns
True if file descriptor is ready for reading.

Implements isc::util::FDEventHandler.

Definition at line 51 of file poll_event_handler.cc.

References isc_throw.

◆ waitEvent()

int isc::util::PollEventHandler::waitEvent ( uint32_t timeout_sec,
uint32_t timeout_usec = 0,
bool use_timeout = true )
virtual

Wait for events on registered file descriptors.

Parameters
timeout_secThe wait timeout in seconds.
timeout_usecThe wait timeout in micro seconds.
use_timeoutFlag which indicates if function should wait with no timeout (wait forever).
Returns
-1 on error, 0 if no data is available (timeout expired), 1 if data is ready.

Implements isc::util::FDEventHandler.

Definition at line 33 of file poll_event_handler.cc.

References isc_throw.


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