2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[5315] Config Manager now returns non-const pointer to current config.

This commit is contained in:
Marcin Siodelski
2017-07-24 13:52:27 +02:00
committed by Tomek Mrugalski
parent c885228d13
commit 433313ef4c
2 changed files with 20 additions and 4 deletions

View File

@@ -150,7 +150,7 @@ CfgMgr::revert(const size_t index) {
commit();
}
ConstSrvConfigPtr
SrvConfigPtr
CfgMgr::getCurrentCfg() {
ensureCurrentAllocated();
return (configuration_);

View File

@@ -196,10 +196,26 @@ public:
///
/// This function returns pointer to the current configuration. If the
/// current configuration is not set it will create a default configuration
/// and return it. Current configuration returned is read-only.
/// and return it.
///
/// @return Non-null const pointer to the current configuration.
ConstSrvConfigPtr getCurrentCfg();
/// In the previous Kea releases this method used to return a const pointer
/// to the current configuration to ensure that it is not accidentally
/// modified while the server is running. This has been changed in Kea 1.3
/// release and now this function returns a non-const pointer. The reason
/// is that there are certain use cases when current configuration must
/// be modified without going through a full cycle of server
/// reconfiguration, e.g. add a subnet to the current configuration as
/// a result of receiving a command over control API. In such case the
/// performance of processing such command is critical and rebuilding the
/// whole configuration just for this small configuration change is out
/// of question.
///
/// Nevertheless, such configuration updates should always be made with
/// caution and one has to make sure that the configuration data integrity
/// is preserved.
///
/// @return Non-null pointer to the current configuration.
SrvConfigPtr getCurrentCfg();
/// @brief Returns a pointer to the staging configuration.
///