Kea  2.5.2
isc::netconf::NetconfProcess Class Reference

Kea Netconf Application Process. More...

#include <netconf_process.h>

+ Inheritance diagram for isc::netconf::NetconfProcess:

Public Member Functions

 NetconfProcess (const char *name, const asiolink::IOServicePtr &io_service)
 Constructor. More...
virtual ~NetconfProcess ()=default
 Destructor. More...
isc::data::ConstElementPtr configure (isc::data::ConstElementPtr config_set, bool check_only=false) override final
 Processes the given configuration. More...
NetconfCfgMgrPtr getNetconfCfgMgr ()
 Returns a pointer to the configuration manager. More...
void init () override final
 Initialize the Netconf process. More...
void run () override final
 Implements the process's event loop. More...
isc::data::ConstElementPtr shutdown (isc::data::ConstElementPtr args) override final
 Initiates the process's shutdown process. More...
- Public Member Functions inherited from isc::process::DProcessBase
 DProcessBase (const char *app_name, asiolink::IOServicePtr io_service, DCfgMgrBasePtr cfg_mgr)
 Constructor. More...
virtual ~DProcessBase ()
 Destructor. More...
const std::string getAppName () const
 Fetches the application name. More...
DCfgMgrBasePtrgetCfgMgr ()
 Fetches the process's configuration manager. More...
asiolink::IOServicePtrgetIoService ()
 Fetches the controller's IOService. More...
void setShutdownFlag (bool value)
 Sets the process shut down flag to the given value. More...
bool shouldShutdown () const
 Checks if the process has been instructed to shut down. More...
void stopIOService ()
 Convenience method for stopping IOservice processing. More...

Detailed Description

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.

Constructor & Destructor Documentation

◆ NetconfProcess()

isc::netconf::NetconfProcess::NetconfProcess ( const char *  name,
const asiolink::IOServicePtr io_service 


namename is a text label for the process. Generally used in log statements, but otherwise arbitrary.
io_serviceis the io_service used by the caller for asynchronous event handling.

Definition at line 28 of file

◆ ~NetconfProcess()

virtual isc::netconf::NetconfProcess::~NetconfProcess ( )


Member Function Documentation

◆ configure()

isc::data::ConstElementPtr isc::netconf::NetconfProcess::configure ( isc::data::ConstElementPtr  config_set,
bool  check_only = false 

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_seta new configuration (JSON) for the process
check_onlytrue if configuration is to be verified only, not applied
an Element that contains the results of configuration composed of an integer status value (0 means successful, non-zero means failure), and a string explanation of the outcome.

Implements isc::process::DProcessBase.

Definition at line 82 of file

References isc::process::DProcessBase::getCfgMgr(), and isc::config::parseAnswer().

+ Here is the call graph for this function:

◆ getNetconfCfgMgr()

NetconfCfgMgrPtr isc::netconf::NetconfProcess::getNetconfCfgMgr ( )

Returns a pointer to the configuration manager.

Definition at line 92 of file

References isc::process::DProcessBase::getCfgMgr().

Referenced by run().

+ Here is the call graph for this function:

◆ init()

void isc::netconf::NetconfProcess::init ( )

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 34 of file

◆ run()

void isc::netconf::NetconfProcess::run ( )

◆ shutdown()

isc::data::ConstElementPtr isc::netconf::NetconfProcess::shutdown ( isc::data::ConstElementPtr  args)

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.

argsan Element set of shutdown arguments (if any) that are supported by the process derivation.
an Element that contains the results of argument processing, consisting of an integer status value (0 means successful, non-zero means failure), and a string explanation of the outcome.
DProcessBaseErrorif an operational error is encountered.

Implements isc::process::DProcessBase.

Definition at line 76 of file

References isc::config::CONTROL_RESULT_SUCCESS, isc::config::createAnswer(), and isc::process::DProcessBase::setShutdownFlag().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: