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:
committed by
Tomek Mrugalski
parent
c885228d13
commit
433313ef4c
@@ -150,7 +150,7 @@ CfgMgr::revert(const size_t index) {
|
||||
commit();
|
||||
}
|
||||
|
||||
ConstSrvConfigPtr
|
||||
SrvConfigPtr
|
||||
CfgMgr::getCurrentCfg() {
|
||||
ensureCurrentAllocated();
|
||||
return (configuration_);
|
||||
|
@@ -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.
|
||||
///
|
||||
|
Reference in New Issue
Block a user