Kea 2.7.6
|
Class which handles events on IOService objects. More...
#include <io_service_mgr.h>
Public Member Functions | |
void | clearIOServices () |
Clear the list of IOService objects. | |
size_t | getIOServiceCount () |
The count of IOService objects. | |
void | pollIOServices () |
Poll IOService objects. | |
void | registerIOService (IOServicePtr io_service) |
Register IOService. | |
void | unregisterIOService (IOServicePtr io_service) |
Unregister IOService. | |
Static Public Member Functions | |
static IOServiceMgr & | instance () |
Access the IOServiceMgr singleton instance. | |
Class which handles events on IOService objects.
Usually hook libraries create a local IOService object which handles events related to the respective library. To be able to handle these events, the IOService objects need to be registered on the '[X]_srv_configured' or on 'load' hook points (before the MT settings are applied). This class is not thread safe, so all operations must be done on the main thread, while all other threads are either stopped or paused.
Definition at line 27 of file io_service_mgr.h.
|
inline |
Clear the list of IOService objects.
Definition at line 53 of file io_service_mgr.h.
Referenced by isc::process::DControllerBase::~DControllerBase(), isc::dhcp::Dhcpv4Srv::~Dhcpv4Srv(), isc::dhcp::Dhcpv6Srv::~Dhcpv6Srv(), isc::dhcp::configureDhcp4Server(), isc::dhcp::configureDhcp6Server(), isc::agent::AgentSimpleParser::parse(), isc::d2::D2SimpleParser::parse(), and isc::netconf::NetconfSimpleParser::parse().
|
inline |
The count of IOService objects.
Definition at line 60 of file io_service_mgr.h.
|
static |
Access the IOServiceMgr singleton instance.
Definition at line 14 of file io_service_mgr.cc.
References instance().
Referenced by isc::process::DControllerBase::~DControllerBase(), isc::dhcp::Dhcpv4Srv::~Dhcpv4Srv(), isc::dhcp::Dhcpv6Srv::~Dhcpv6Srv(), isc::agent::CtrlAgentProcess::configure(), isc::d2::D2Process::configure(), isc::netconf::NetconfProcess::configure(), isc::dhcp::configureDhcp4Server(), isc::dhcp::configureDhcp6Server(), dhcp4_srv_configured(), dhcp6_srv_configured(), instance(), isc::agent::AgentSimpleParser::parse(), isc::d2::D2SimpleParser::parse(), isc::netconf::NetconfSimpleParser::parse(), isc::dhcp::Dhcpv4Srv::run(), isc::dhcp::Dhcpv6Srv::run(), isc::d2::D2Process::runIO(), and unload().
void isc::asiolink::IOServiceMgr::pollIOServices | ( | ) |
Poll IOService objects.
Definition at line 39 of file io_service_mgr.cc.
Referenced by isc::agent::CtrlAgentProcess::configure(), isc::d2::D2Process::configure(), isc::netconf::NetconfProcess::configure(), isc::dhcp::configureDhcp4Server(), isc::dhcp::configureDhcp6Server(), isc::dhcp::Dhcpv4Srv::run(), isc::dhcp::Dhcpv6Srv::run(), and isc::d2::D2Process::runIO().
void isc::asiolink::IOServiceMgr::registerIOService | ( | IOServicePtr | io_service | ) |
Register IOService.
Registering a null IOService does nothing. One IOService object can be registered only once, all consecutive calls using the same object will be silently ignored.
io_service | The IOService to be registered. |
Definition at line 20 of file io_service_mgr.cc.
Referenced by dhcp4_srv_configured(), and dhcp6_srv_configured().
void isc::asiolink::IOServiceMgr::unregisterIOService | ( | IOServicePtr | io_service | ) |