7#ifndef IO_SERVICE_SIGNAL_H
8#define IO_SERVICE_SIGNAL_H
126 return (sequence_id_);
This is a base class for exceptions thrown from the DNS library module.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
The IOService class is a wrapper for the ASIO io_service class.
Exception thrown if IOSignal encounters an error.
IOSignalError(const char *file, size_t line, const char *what)
Creates and manages IOSignals.
void clear()
Erases the contents of the queue.
~IOSignalQueue()
Destructor.
IOSignalPtr popSignal(IOSignalId sequence_id)
Removes an IOSignal from the map and returns it.
IOSignalId pushSignal(int signum, IOSignalHandler handler)
Creates an IOSignal.
Defines the callback used by IOSignal's internal timer.
void operator()()
() Operator which serves as the timer's callback
Implements an asynchronous "signal" for IOService driven processing.
IOSignalId getSequenceId() const
Gets the IOSignal's sequence_id.
static IOSignalId nextSequenceId()
Static method for generating IOSignal sequence_ids.
int getSignum() const
Gets the OS signal value this IOSignal represents.
boost::shared_ptr< isc::asiolink::IntervalTimer > IntervalTimerPtr
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
boost::shared_ptr< IOSignalQueue > IOSignalQueuePtr
Defines a pointer to an IOSignalQueue.
uint64_t IOSignalId
Defines a unique identifier type for IOSignal.
boost::function< void(IOSignalId sequence_id)> IOSignalHandler
Defines a handler function for an IOSignal.
boost::shared_ptr< IOSignal > IOSignalPtr
Defines a pointer to an IOSignal.
std::map< IOSignalId, IOSignalPtr > IOSignalMap
Defines a map of IOSignalPtr keyed by id.
Defines the logger used by the top-level component of kea-dhcp-ddns.