![]() |
Kea
2.5.2
|
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... | |
static data::ConstElementPtr | createSyncCompleteNotify (const HAServerType &server_type) |
Creates ha-sync-complete-notify command. More... | |
Static Public Attributes | |
static std::unordered_set< std::string > | ha_commands4_ |
List of commands used by the High Availability in v4. More... | |
static std::unordered_set< std::string > | ha_commands6_ |
List of commands used by the High Availability in v6. More... | |
Holds a collection of functions which generate commands used for High Availability.
Definition at line 22 of file command_creator.h.
|
static |
Creates dhcp-disable command for DHCP server.
max_period | The max-period time the service can stay disabled before automatically transitioning to enabled state. |
server_type | type of the DHCP server, i.e. v4 or v6. |
Definition at line 41 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().
|
static |
Creates dhcp-enable command for DHCP server.
server_type | type of the DHCP server, i.e. v4 or v6. |
Definition at line 56 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().
|
static |
Creates ha-reset command.
server_type | type of the DHCP server, i.e. v4 or v6. |
Definition at line 66 of file command_creator.cc.
References isc::config::createCommand().
|
static |
Creates ha-heartbeat command for DHCP server.
Definition at line 73 of file command_creator.cc.
References isc::config::createCommand().
|
static |
Creates lease4-del command.
lease4 | Reference to a lease for which the command should be created. |
Definition at line 91 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::util::DHCPv4, and isc::dhcp::Lease4::toElement().
Referenced by isc::ha::HAService::asyncSendLeaseUpdates().
|
static |
Creates lease4-get-all command.
Definition at line 101 of file command_creator.cc.
References isc::config::createCommand(), and isc::util::DHCPv4.
|
static |
Creates lease4-get-page command.
lease4 | Pointer 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. |
limit | Limit of leases on the page. |
Definition at line 108 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createMap(), isc::util::DHCPv4, and isc_throw.
|
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.
lease4 | Reference to a lease for which the command should be created. |
Definition at line 80 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::util::DHCPv4, and isc::dhcp::Lease4::toElement().
Referenced by isc::ha::HAService::asyncSendLeaseUpdates().
|
static |
Creates lease6-bulk-apply command.
leases | Pointer to the collection of leases to be created or/and updated. |
deleted_leases | Pointer to the collection of leases to be deleted. |
Definition at line 133 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createList(), isc::data::Element::createMap(), and isc::util::DHCPv6.
Referenced by isc::ha::HAService::asyncSendLeaseUpdates().
|
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.
leases | Reference to the collection of DHCPv6 leases backlog. |
Definition at line 162 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createList(), isc::data::Element::createMap(), isc::util::DHCPv6, and isc::ha::LeaseUpdateBacklog::pop().
|
static |
Creates lease6-del command.
lease6 | Reference to a lease for which the command should be created. |
Definition at line 200 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::util::DHCPv6, and isc::dhcp::Lease6::toElement().
|
static |
Creates lease6-get-all command.
Definition at line 210 of file command_creator.cc.
References isc::config::createCommand(), and isc::util::DHCPv6.
|
static |
Creates lease6-get-page command.
lease6 | Pointer 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. |
limit | Limit of leases on the page. |
Definition at line 217 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::data::Element::createMap(), isc::util::DHCPv6, and isc_throw.
|
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.
lease6 | Reference to a lease for which the command should be created. |
Definition at line 189 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), isc::util::DHCPv6, and isc::dhcp::Lease6::toElement().
|
static |
Creates ha-maintenance-notify command.
cancel | boolean value indicating if the maintenance is being cancelled (true) or requested (false). |
server_type | type of the DHCP server, i.e. v4 or v6. |
Definition at line 242 of file command_creator.cc.
References isc::data::Element::create(), isc::config::createCommand(), and isc::data::Element::createMap().
|
static |
Creates ha-sync-complete-notify command.
server_type | type of the DHCP server, i.e. v4 or v6. |
Definition at line 251 of file command_creator.cc.
References isc::config::createCommand().
|
static |
List of commands used by the High Availability in v4.
Definition at line 177 of file command_creator.h.
Referenced by isc::ha::HAService::HAService().
|
static |
List of commands used by the High Availability in v6.
Definition at line 180 of file command_creator.h.
Referenced by isc::ha::HAService::HAService().