| Process (class) | Process |
| ModuleManager (EventLoop& eventloop, Rtrmgr& rtrmgr,
bool do_restart, bool verbose,
const string& xorp_root_dir)
| ModuleManager |
Constructor.
Parameters:
| eventloop | the event loop to use. |
| rtrmgr | the router manager to use. |
| do_restart | if true, then restart a module if it failed. |
| verbose | if true, then output trace messages. |
| xorp_root_dir | the XORP root directory. |
| ~ModuleManager ()
| ~ModuleManager |
| bool new_module (const string& module_name, const string& path,
string& error_msg)
| new_module |
Create a new module.
Parameters:
| module_name | the module name. |
| path | the path to the executable program for this module. It could be either the relative or expanded absolute path. |
| error_msg | the error message (if error). |
Returns: true on success, otherwise false.
| int start_module (const string& module_name, bool do_exec,
bool is_verification,
XorpCallback1<void, bool>::RefPtr cb)
| start_module |
Start a module.
Parameters:
| module_name | the module name. |
| do_exec | if true then indeed execute the executable program, otherwise just process the execution machinery. |
| is_verification | if true then this is verification of the execution machinery. |
| cb | the callback to dispatch at the end of the startup process. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
| int kill_module (const string& module_name,
XorpCallback0<void>::RefPtr cb)
| kill_module |
Kill a module.
Parameters:
| module_name | the module name. |
| cb | the callback to dispatch when the module is terminated. |
Returns: XORP_OK on success, otherwise XORP_ERROR.
| bool module_is_running (const string& module_name)
| module_is_running |
[const]
Test whether a module is running.
Parameters:
| module_name | the module name. |
Returns: true if the module is running, otherwise false.
| bool module_has_started (const string& module_name)
| module_has_started |
[const]
Test whether a module has been started.
Parameters:
| module_name | the module name. |
Returns: true if the module has been started, otherwise false.
| void shutdown ()
| shutdown |
| bool is_shutdown_completed ()
| is_shutdown_completed |
[const]
Test whether the shutdown has been completed.
Returns: true if the shutdown has been completed, otherwise false.
| void module_status_changed (const string& module_name,
Module::ModuleStatus old_status,
Module::ModuleStatus new_status)
| module_status_changed |
Change the status of a module.
Parameters:
| module_name | the module name. |
| old_status | the old status. |
| new_status | the new status. |
| list<string> get_module_names ()
| get_module_names |
[const]
Get the module names.
Returns: a list with the module names.
| list<Module *> find_running_modules_by_path (const string& expath)
| find_running_modules_by_path |
Get the running modules that match an executional path.
Parameters:
| expath | the path to match. |
Returns: a list of modules that are running and match expath.
| int execute_process (const string& expath, string& error_msg)
| execute_process |
Execute a process.
Parameters:
| expath | the expanded path for the process to execute. |
| error_msg | the error message (if error). |
Returns: XORP_OK on success, otherwise XORP_ERROR.
| void process_exited (const string& expath, bool success,
bool is_signal_terminated, int term_signal,
bool is_coredumped)
| process_exited |
A method called when a process has exited.
Parameters:
| expath | the expanded path for the process that has exited. |
| success | if true, the exit status of the process indicates success, otherwise failure. |
| is_signal_terminated | if true the process has been terminated by a signal. |
| term_signal | if is_signal_terminated is true, this contains the terminating signal. |
| is_coredumped | if true the process has generated a coredump. |
| void process_stopped (const string& expath, int stop_signal)
| process_stopped |
A method called when a process has been stopped.
Parameters:
| expath | the expanded path for the process that has been stopped. |
| stop_signal | the signal that has stopped the process. |
| ModuleManager::Process* find_process_by_path (const string& expath)
| find_process_by_path |
Find a process by its expanded path.
Parameters:
| expath | the expanded path for the process to find. |
Returns: the corresponding process if found, otherwise NULL.
| const string& xorp_root_dir ()
| xorp_root_dir |
[const]
Get the XORP root directory.
Returns: the XORP root directory.
| MasterConfigTree* master_config_tree ()
| master_config_tree |
[const]
Get the master configuration tree.
Returns: the master configuration tree.
| void set_master_config_tree (MasterConfigTree* v)
| set_master_config_tree |
Set the master configuration tree.
Parameters:
| v | the master configuration tree to set. |
| bool do_restart ()
| do_restart |
[const]
Test if processes that have failed should be restarted.
Returns: true if failed processes should be restarted, otherwise false.