Kea 2.7.5
|
Kea Netconf Application Process. More...
#include <netconf_process.h>
Public Member Functions | |
NetconfProcess (const char *name, const asiolink::IOServicePtr &io_service) | |
Constructor. | |
virtual | ~NetconfProcess ()=default |
Destructor. | |
isc::data::ConstElementPtr | configure (isc::data::ConstElementPtr config_set, bool check_only=false) override final |
Processes the given configuration. | |
NetconfCfgMgrPtr | getNetconfCfgMgr () |
Returns a pointer to the configuration manager. | |
void | init () override final |
Initialize the Netconf process. | |
void | run () override final |
Implements the process's event loop. | |
isc::data::ConstElementPtr | shutdown (isc::data::ConstElementPtr args) override final |
Initiates the process's shutdown process. | |
Public Member Functions inherited from isc::process::DProcessBase | |
DProcessBase (const char *app_name, asiolink::IOServicePtr io_service, DCfgMgrBasePtr cfg_mgr) | |
Constructor. | |
virtual | ~DProcessBase () |
Destructor. | |
const std::string | getAppName () const |
Fetches the application name. | |
DCfgMgrBasePtr & | getCfgMgr () |
Fetches the process's configuration manager. | |
asiolink::IOServicePtr & | getIOService () |
Fetches the controller's IOService. | |
void | setShutdownFlag (bool value) |
Sets the process shut down flag to the given value. | |
bool | shouldShutdown () const |
Checks if the process has been instructed to shut down. | |
void | stopIOService () |
Convenience method for stopping IOservice processing. | |
Kea Netconf Application Process.
NetconfProcess provides top level application logic for the Netconf, a process managing Kea servers using YANG / NETCONF.
The Netconf receives YANG configuration change events, converts them to JSON commands sent to the respective Kea servers.
Definition at line 25 of file netconf_process.h.
isc::netconf::NetconfProcess::NetconfProcess | ( | const char * | name, |
const asiolink::IOServicePtr & | io_service ) |
Constructor.
name | name is a text label for the process. Generally used in log statements, but otherwise arbitrary. |
io_service | is the io_service used by the caller for asynchronous event handling. |
Definition at line 29 of file netconf_process.cc.
|
virtualdefault |
Destructor.
|
finaloverridevirtual |
Processes the given configuration.
This method may be called multiple times during the process lifetime. Certainly once during process startup, and possibly later if the user alters configuration. This method must not throw, it should catch any processing errors and return a success or failure answer as described below.
config_set | a new configuration (JSON) for the process |
check_only | true if configuration is to be verified only, not applied |
Let postponed hook initializations run.
Implements isc::process::DProcessBase.
Definition at line 84 of file netconf_process.cc.
References isc::config::CONTROL_RESULT_ERROR, isc::config::createAnswer(), isc::process::DProcessBase::getCfgMgr(), isc::asiolink::IOServiceMgr::instance(), and isc::config::parseAnswer().
NetconfCfgMgrPtr isc::netconf::NetconfProcess::getNetconfCfgMgr | ( | ) |
Returns a pointer to the configuration manager.
Definition at line 105 of file netconf_process.cc.
References isc::process::DProcessBase::getCfgMgr().
Referenced by run().
|
finaloverridevirtual |
Initialize the Netconf process.
This is invoked by the controller after command line arguments but prior to configuration reception. The base class provides this method as a place to perform any derivation-specific initialization steps that are inappropriate for the constructor but necessary prior to launch.
Implements isc::process::DProcessBase.
Definition at line 35 of file netconf_process.cc.
|
finaloverridevirtual |
Implements the process's event loop.
DProcessBaseError | if an operational error is encountered. |
Implements isc::process::DProcessBase.
Definition at line 39 of file netconf_process.cc.
References isc::log::DBGLVL_START_SHUT, getNetconfCfgMgr(), isc::netconf::NetconfAgent::init(), isc_throw, LOG_DEBUG, LOG_FATAL, LOG_INFO, isc::netconf::NETCONF_FAILED, isc::netconf::netconf_logger, isc::netconf::NETCONF_RUN_EXIT, isc::netconf::NETCONF_STARTED, isc::process::DProcessBase::shouldShutdown(), isc::process::DProcessBase::stopIOService(), and isc::Exception::what().
|
finaloverridevirtual |
Initiates the process's shutdown process.
This is last step in the shutdown event callback chain, that is intended to notify the process it is to begin its shutdown process.
args | an Element set of shutdown arguments (if any) that are supported by the process derivation. |
DProcessBaseError | if an operational error is encountered. |
Implements isc::process::DProcessBase.
Definition at line 78 of file netconf_process.cc.
References isc::config::CONTROL_RESULT_SUCCESS, isc::config::createAnswer(), and isc::process::DProcessBase::setShutdownFlag().