Kea 2.7.6
isc::config::HttpCommandMgr Class Reference

HTTP Commands Manager implementation for the Kea servers. More...

#include <http_command_mgr.h>

+ Inheritance diagram for isc::config::HttpCommandMgr:

Public Member Functions

void addExternalSockets (bool use_external=true)
 Use external sockets flag.
 
void close (bool remove=true)
 Close http control socket.
 
void configure (HttpCommandConfigPtr config)
 Configure http control socket from configuration.
 
void garbageCollectListeners ()
 Removes listeners which are no longer in use.
 
isc::http::ConstHttpListenerPtr getHttpListener () const
 Returns a const pointer to the HTTP listener.
 
void setConnectionTimeout (const long timeout)
 Override default connection timeout.
 
void setIdleConnectionTimeout (const long timeout)
 Override default idle connection timeout.
 
void setIOService (const asiolink::IOServicePtr &io_service)
 Sets IO service to be used by the http command manager.
 

Static Public Member Functions

static HttpCommandMgrinstance ()
 HttpCommandMgr is a singleton class.
 

Detailed Description

HTTP Commands Manager implementation for the Kea servers.

Similar to UnixCommandMgr but using HTTP/HTTPS instead of UNIX sockets.

Definition at line 24 of file http_command_mgr.h.

Member Function Documentation

◆ addExternalSockets()

void isc::config::HttpCommandMgr::addExternalSockets ( bool use_external = true)

Use external sockets flag.

Add sockets as external sockets of the interface manager so available I/O on them makes a waiting select to return.

Parameters
use_externalTrue (default) add external sockets.

Definition at line 237 of file http_command_mgr.cc.

Referenced by isc::d2::D2Process::init().

◆ close()

void isc::config::HttpCommandMgr::close ( bool remove = true)

Close http control socket.

Note
When remove is false garbageCollectListeners must be called after.
Parameters
removeWhen true remove the listeners immediately.

Definition at line 247 of file http_command_mgr.cc.

Referenced by isc::dhcp::ControlledDhcpv4Srv::~ControlledDhcpv4Srv(), isc::dhcp::ControlledDhcpv6Srv::~ControlledDhcpv6Srv(), and isc::d2::D2Controller::deregisterCommands().

◆ configure()

void isc::config::HttpCommandMgr::configure ( HttpCommandConfigPtr config)

Configure http control socket from configuration.

Parameters
configConfiguration of the control http socket.

Definition at line 242 of file http_command_mgr.cc.

Referenced by isc::dhcp::configureCommandChannel(), and isc::d2::D2Process::reconfigureCommandChannel().

◆ garbageCollectListeners()

void isc::config::HttpCommandMgr::garbageCollectListeners ( )

Removes listeners which are no longer in use.

This method should be called after server reconfiguration to remove listeners used previously (no longer used because the listening address and port has changed as a result of the reconfiguration). If there are no listeners additional to the one that is currently in use, the method has no effect. This method is reused to remove all listeners at shutdown time.

Definition at line 252 of file http_command_mgr.cc.

Referenced by isc::dhcp::Dhcpv4Srv::run(), isc::dhcp::Dhcpv6Srv::run(), and isc::d2::D2Process::runIO().

◆ getHttpListener()

ConstHttpListenerPtr isc::config::HttpCommandMgr::getHttpListener ( ) const

Returns a const pointer to the HTTP listener.

Returns
Const pointer to the currently used listener or null pointer if there is no listener.

Definition at line 257 of file http_command_mgr.cc.

◆ instance()

◆ setConnectionTimeout()

void isc::config::HttpCommandMgr::setConnectionTimeout ( const long timeout)

Override default connection timeout.

Parameters
timeoutNew connection timeout in milliseconds.

Definition at line 227 of file http_command_mgr.cc.

◆ setIdleConnectionTimeout()

void isc::config::HttpCommandMgr::setIdleConnectionTimeout ( const long timeout)

Override default idle connection timeout.

Parameters
timeoutNew connection timeout in milliseconds.

Definition at line 232 of file http_command_mgr.cc.

◆ setIOService()

void isc::config::HttpCommandMgr::setIOService ( const asiolink::IOServicePtr & io_service)

Sets IO service to be used by the http command manager.

The server should use this method to provide the Command Manager with the common IO service used by the server.

Parameters
io_servicePointer to the IO service.

Definition at line 222 of file http_command_mgr.cc.

Referenced by isc::dhcp::ControlledDhcpv4Srv::ControlledDhcpv4Srv(), isc::dhcp::ControlledDhcpv6Srv::ControlledDhcpv6Srv(), and isc::d2::D2Process::init().


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