Commit 433313ef authored by Marcin Siodelski's avatar Marcin Siodelski Committed by Tomek Mrugalski

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

parent c885228d
......@@ -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.
///
/// @return Non-null const pointer to the current configuration.
ConstSrvConfigPtr getCurrentCfg();
/// and return it.
///
/// 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.
///
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment