Kea  1.9.9-git
isc::ha::CommandCreator Class Reference

Holds a collection of functions which generate commands used for High Availability. More...

#include <command_creator.h>

Static Public Member Functions

static data::ConstElementPtr createDHCPDisable (const unsigned int max_period, const HAServerType &server_type)
 Creates dhcp-disable command for DHCP server. More...
 
static data::ConstElementPtr createDHCPEnable (const HAServerType &server_type)
 Creates dhcp-enable command for DHCP server. More...
 
static data::ConstElementPtr createHAReset (const HAServerType &server_type)
 Creates ha-reset command. More...
 
static data::ConstElementPtr createHeartbeat (const HAServerType &server_type)
 Creates ha-heartbeat command for DHCP server. More...
 
static data::ConstElementPtr createLease4Delete (const dhcp::Lease4 &lease4)
 Creates lease4-del command. More...
 
static data::ConstElementPtr createLease4GetAll ()
 Creates lease4-get-all command. More...
 
static data::ConstElementPtr createLease4GetPage (const dhcp::Lease4Ptr &lease4, const uint32_t limit)
 Creates lease4-get-page command. More...
 
static data::ConstElementPtr createLease4Update (const dhcp::Lease4 &lease4)
 Creates lease4-update command. More...
 
static data::ConstElementPtr createLease6BulkApply (const dhcp::Lease6CollectionPtr &leases, const dhcp::Lease6CollectionPtr &deleted_leases)
 Creates lease6-bulk-apply command. More...
 
static data::ConstElementPtr createLease6BulkApply (LeaseUpdateBacklog &leases)
 Creates lease6-bulk-apply command. More...
 
static data::ConstElementPtr createLease6Delete (const dhcp::Lease6 &lease6)
 Creates lease6-del command. More...
 
static data::ConstElementPtr createLease6GetAll ()
 Creates lease6-get-all command. More...
 
static data::ConstElementPtr createLease6GetPage (const dhcp::Lease6Ptr &lease6, const uint32_t limit)
 Creates lease6-get-page command. More...
 
static data::ConstElementPtr createLease6Update (const dhcp::Lease6 &lease6)
 Creates lease6-update command. More...
 
static data::ConstElementPtr createMaintenanceNotify (const bool cancel, const HAServerType &server_type)
 Creates ha-maintenance-notify command. More...
 

Detailed Description

Holds a collection of functions which generate commands used for High Availability.

Definition at line 21 of file command_creator.h.

Member Function Documentation

ConstElementPtr isc::ha::CommandCreator::createDHCPDisable ( const unsigned int  max_period,
const HAServerType server_type 
)
static

Creates dhcp-disable command for DHCP server.

Parameters
max_periodThe max-period time the service can stay disabled before automatically transitioning to enabled state.
server_typetype of the DHCP server, i.e. v4 or v6.
Returns
Pointer to the JSON representation of the command.

Definition at line 21 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().

Referenced by isc::ha::HAService::asyncDisableDHCPService().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createDHCPEnable ( const HAServerType server_type)
static

Creates dhcp-enable command for DHCP server.

Parameters
server_typetype of the DHCP server, i.e. v4 or v6.
Returns
Pointer to the JSON representation of the command.

Definition at line 36 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().

Referenced by isc::ha::HAService::asyncEnableDHCPService().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createHAReset ( const HAServerType server_type)
static

Creates ha-reset command.

Parameters
server_typetype of the DHCP server, i.e. v4 or v6.
Returns
Pointer to the JSON representation of the command.

Definition at line 46 of file command_creator.cc.

References isc::config::createCommand().

Referenced by isc::ha::HAService::asyncSendHAReset().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createHeartbeat ( const HAServerType server_type)
static

Creates ha-heartbeat command for DHCP server.

Returns
Pointer to the JSON representation of the command.

Definition at line 53 of file command_creator.cc.

References isc::config::createCommand().

Referenced by isc::ha::HAService::asyncSendHeartbeat().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease4Delete ( const dhcp::Lease4 lease4)
static

Creates lease4-del command.

Parameters
lease4Reference to a lease for which the command should be created.
Returns
Pointer to the JSON representation of the command.

Definition at line 70 of file command_creator.cc.

References isc::config::createCommand(), and isc::dhcp::Lease4::toElement().

Referenced by isc::ha::HAService::asyncSendLeaseUpdates(), and isc::ha::HAService::asyncSendLeaseUpdatesFromBacklog().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease4GetAll ( )
static

Creates lease4-get-all command.

Returns
Pointer to the JSON representation of the command.

Definition at line 79 of file command_creator.cc.

References isc::config::createCommand().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease4GetPage ( const dhcp::Lease4Ptr lease4,
const uint32_t  limit 
)
static

Creates lease4-get-page command.

Parameters
lease4Pointer to the last lease returned on the previous page of leases. This lease is used to set the value of the "from" parameter in the lease4-get-page command. If this command is sent to fetch the first page, the lease4 parameter should be set to null.
limitLimit of leases on the page.
Returns
Pointer to the JSON representation of the command.

Definition at line 86 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createMap(), and isc_throw.

Referenced by isc::ha::HAService::asyncSyncLeasesInternal().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease4Update ( const dhcp::Lease4 lease4)
static

Creates lease4-update command.

It adds "force-create" parameter to the lease information to force the remote server to create the lease if it doesn't exist in its lease database.

Parameters
lease4Reference to a lease for which the command should be created.
Returns
Pointer to the JSON representation of the command.

Definition at line 60 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), and isc::dhcp::Lease4::toElement().

Referenced by isc::ha::HAService::asyncSendLeaseUpdates(), and isc::ha::HAService::asyncSendLeaseUpdatesFromBacklog().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6BulkApply ( const dhcp::Lease6CollectionPtr leases,
const dhcp::Lease6CollectionPtr deleted_leases 
)
static

Creates lease6-bulk-apply command.

Parameters
leasesPointer to the collection of leases to be created or/and updated.
deleted_leasesPointer to the collection of leases to be deleted.
Returns
Pointer to the JSON representation of the command.

Definition at line 111 of file command_creator.cc.

References isc::config::createCommand(), isc::data::Element::createList(), and isc::data::Element::createMap().

Referenced by isc::ha::HAService::asyncSendLeaseUpdates(), and isc::ha::HAService::asyncSendLeaseUpdatesFromBacklog().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6BulkApply ( LeaseUpdateBacklog leases)
static

Creates lease6-bulk-apply command.

This command pops the leases from the backlog. As a result, the backlog is empty after calling this function.

Parameters
leasesReference to the collection of DHCPv6 leases backlog.
Returns
Pointer to the JSON representation of the command.

Definition at line 139 of file command_creator.cc.

References isc::config::createCommand(), isc::data::Element::createList(), isc::data::Element::createMap(), and isc::ha::LeaseUpdateBacklog::pop().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6Delete ( const dhcp::Lease6 lease6)
static

Creates lease6-del command.

Parameters
lease6Reference to a lease for which the command should be created.
Returns
Pointer to the JSON representation of the command.

Definition at line 175 of file command_creator.cc.

References isc::config::createCommand(), and isc::dhcp::Lease6::toElement().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6GetAll ( )
static

Creates lease6-get-all command.

Returns
Pointer to the JSON representation of the command.

Definition at line 184 of file command_creator.cc.

References isc::config::createCommand().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6GetPage ( const dhcp::Lease6Ptr lease6,
const uint32_t  limit 
)
static

Creates lease6-get-page command.

Parameters
lease6Pointer to the last lease returned on the previous page of leases. This lease is used to set the value of the "from" parameter in the lease6-get-page command. If this command is sent to fetch the first page, the lease6 parameter should be set to null.
limitLimit of leases on the page.
Returns
Pointer to the JSON representation of the command.

Definition at line 191 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createMap(), and isc_throw.

Referenced by isc::ha::HAService::asyncSyncLeasesInternal().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createLease6Update ( const dhcp::Lease6 lease6)
static

Creates lease6-update command.

It adds "force-create" parameter to the lease information to force the remote server to create the lease if it doesn't exist in its lease database.

Parameters
lease6Reference to a lease for which the command should be created.
Returns
Pointer to the JSON representation of the command.

Definition at line 165 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), and isc::dhcp::Lease6::toElement().

+ Here is the call graph for this function:

ConstElementPtr isc::ha::CommandCreator::createMaintenanceNotify ( const bool  cancel,
const HAServerType server_type 
)
static

Creates ha-maintenance-notify command.

Parameters
cancelboolean value indicating if the maintenance is being cancelled (true) or requested (false).
server_typetype of the DHCP server, i.e. v4 or v6.
Returns
Pointer to the JSON representation of the command.

Definition at line 216 of file command_creator.cc.

References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().

Referenced by isc::ha::HAService::processMaintenanceCancel(), and isc::ha::HAService::processMaintenanceStart().

+ Here is the call graph for this function:


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