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.