|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "alarms.h"#include "agent.h"#include "eval.h"#include "cace/ari/time_util.h"#include "cace/util/logging.h"#include "cace/util/defs.h"
Include dependency graph for alarms.c:Enumerations | |
| enum | alarm_table_col_e { ALARM_TABLE_COL_RESOURCE , ALARM_TABLE_COL_CATEGORY , ALARM_TABLE_COL_SEVERITY , ALARM_TABLE_COL_CREATED_AT , ALARM_TABLE_COL_UPDATED_AT , ALARM_TABLE_COL_HISTORY , ALARM_TABLE_COL_MGR_STATE , ALARM_TABLE_COL_MGR_IDENT , ALARM_TABLE_COL_MGR_TIME } |
| Table column index. More... | |
| enum alarm_table_col_e |
|
static |
Translation helper function to substitute any LABEL value in the expression with corresponding data from an .
/edd/alarm-list entry.
Assumes the LABEL contains a name or index of the column which will substitute data.
References ALARM_TABLE_COL_CATEGORY, ALARM_TABLE_COL_CREATED_AT, ALARM_TABLE_COL_MGR_IDENT, ALARM_TABLE_COL_MGR_STATE, ALARM_TABLE_COL_MGR_TIME, ALARM_TABLE_COL_RESOURCE, ALARM_TABLE_COL_SEVERITY, ALARM_TABLE_COL_UPDATED_AT, cace_ari_cget_tstr_cstr(), cace_ari_get_int(), cace_ari_is_lit_typed(), cace_ari_set_copy(), cace_ari_set_int(), cace_ari_set_uint(), CACE_ARI_TRANSLATE_DEFAULT, CACE_ARI_TRANSLATE_FAILURE, CACE_ARI_TRANSLATE_FINAL, CACE_ARI_TYPE_LABEL, CACE_LOG_ERR, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, refda_amm_ident_base_t::name, refda_alarms_entry_t::resource, refda_alarms_entry_t::severity, refda_alarms_entry_t::updated_at, and cace_ari_translate_ctx_t::user_data.
Referenced by refda_alarms_compress(), refda_alarms_mgr_state(), and refda_alarms_purge().
| size_t refda_alarms_compress | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter | ||
| ) |
Compress the history on on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
References refda_runctx_t::agent, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_translate(), CACE_LOG_CRIT, CACE_LOG_ERR, CHKRET, refda_alarms_entry_t::history, cace_ari_translator_t::map_ari, and refda_eval_target().
Referenced by refda_adm_ietf_alarms_ctrl_compress_alarms(), and test_refda_alarms_compress_all().
| void refda_alarms_deinit | ( | refda_alarms_t * | obj | ) |
References refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, and refda_alarms_t::alarm_mutex.
Referenced by refda_agent_deinit().
| void refda_alarms_entry_deinit | ( | refda_alarms_entry_t * | obj | ) |
| void refda_alarms_entry_init | ( | refda_alarms_entry_t * | obj | ) |
References cace_ari_init(), CACE_ARI_INIT_NULL, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_alarms_entry_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, REFDA_ALARMS_MGR_STATE_NONE, REFDA_ALARMS_SEVERITY_CLEARED, refda_amm_ident_base_init(), refda_alarms_entry_t::resource, refda_alarms_entry_t::severity, and refda_alarms_entry_t::updated_at.
| int refda_alarms_entry_key_cmp | ( | const refda_alarms_entry_key_t * | left, |
| const refda_alarms_entry_key_t * | right | ||
| ) |
References refda_alarms_entry_key_t::category, and refda_alarms_entry_key_t::resource.
| int refda_alarms_get_table | ( | refda_runctx_t * | runctx, |
| cace_ari_t * | out | ||
| ) |
Get a table representing the alarm list.
| [in] | runctx | The context to produce under. |
| [out] | out | The already-initialized value to store into. |
References agent, refda_runctx_t::agent, refda_alarms_t::alarm_list, refda_alarms_t::alarm_mutex, ALARM_TABLE_COL_CATEGORY, ALARM_TABLE_COL_CREATED_AT, ALARM_TABLE_COL_HISTORY, ALARM_TABLE_COL_MGR_IDENT, ALARM_TABLE_COL_MGR_STATE, ALARM_TABLE_COL_MGR_TIME, ALARM_TABLE_COL_RESOURCE, ALARM_TABLE_COL_SEVERITY, ALARM_TABLE_COL_UPDATED_AT, refda_agent_t::alarms, cace_ari_set_copy(), cace_ari_set_tbl(), cace_ari_set_uint(), cace_ari_tbl_move_row_array(), cace_ari_tbl_reset(), CACE_LOG_CRIT, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_alarms_entry_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, refda_amm_ident_base_t::name, cace_ari_tbl_t::ncols, refda_alarms_entry_t::resource, refda_alarms_history_item_t::severity, refda_alarms_entry_t::severity, refda_alarms_history_item_t::timestamp, and refda_alarms_entry_t::updated_at.
Referenced by refda_adm_ietf_alarms_edd_alarm_list().
| void refda_alarms_history_item_deinit | ( | refda_alarms_history_item_t * | obj | ) |
References cace_ari_deinit(), and refda_alarms_history_item_t::timestamp.
| void refda_alarms_history_item_init | ( | refda_alarms_history_item_t * | obj | ) |
| void refda_alarms_init | ( | refda_alarms_t * | obj | ) |
References refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, and refda_alarms_t::alarm_mutex.
Referenced by refda_agent_init().
| size_t refda_alarms_mgr_state | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter, | ||
| refda_alarms_mgr_state_t | state | ||
| ) |
Set the manager state on on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
| state | The new state. |
References refda_runctx_t::agent, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_set_copy(), cace_ari_translate(), cace_get_system_time(), CACE_LOG_CRIT, CACE_LOG_ERR, CHKRET, cace_ari_translator_t::map_ari, refda_alarms_entry_t::mgr_ident, refda_runctx_t::mgr_ident, refda_alarms_entry_t::mgr_state, refda_alarms_entry_t::mgr_time, REFDA_ALARMS_MGR_STATE_SHELVED, and refda_eval_target().
Referenced by refda_adm_ietf_alarms_ctrl_set_alarms_manager_state(), and test_refda_alarms_mgr_state_warning().
| size_t refda_alarms_purge | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | filter | ||
| ) |
Purge the list of alarms based on filtered entries.
| [in] | runctx | The context to evaluate expressions and the agent state to modify. |
| [in] | filter | The expression to LABEL-substitute and evaluate for each alarm entry. |
References refda_runctx_t::agent, refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, alarm_list_filter_sub_label(), refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_amm_ari_is_truthy(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_translate(), CACE_LOG_CRIT, CACE_LOG_ERR, refda_alarms_entry_t::category, CHKRET, refda_amm_ident_base_t::ident, cace_ari_translator_t::map_ari, refda_eval_target(), refda_alarms_entry_t::resource, and refda_alarms_entry_key_t::resource.
Referenced by refda_adm_ietf_alarms_ctrl_purge_alarms(), test_refda_alarms_purge_all(), and test_refda_alarms_purge_warning().
| void refda_alarms_set_refs | ( | refda_agent_t * | agent, |
| const cace_ari_t * | resource, | ||
| const cace_ari_t * | category, | ||
| refda_alarms_severity_t | severity | ||
| ) |
Record a new alarm state in the Agent based on object references.
| agent | The agent state to modify. | |
| [in] | resource | The resource to set state on. |
| [in] | category | The optional category to set state on. |
| [in] | severity | The new severity level. |
References agent, refda_alarms_t::alarm_index, refda_alarms_t::alarm_list, refda_alarms_t::alarm_mutex, refda_agent_t::alarms, cace_ari_is_null(), cace_ari_is_undefined(), cace_ari_set_copy(), cace_ari_set_null(), cace_get_system_time(), CACE_LOG_CRIT, CACE_LOG_ERR, refda_alarms_entry_t::category, refda_alarms_entry_t::created_at, refda_alarms_entry_t::history, refda_amm_ident_base_t::ident, refda_amm_ident_base_t::name, refda_agent_t::objs, REFDA_AGENT_LOCK, REFDA_AGENT_UNLOCK, refda_amm_ident_base_deinit(), refda_amm_ident_base_init(), refda_amm_ident_base_populate(), refda_amm_ident_base_set_move(), refda_alarms_entry_t::resource, refda_alarms_entry_key_t::resource, refda_alarms_history_item_t::severity, refda_alarms_entry_t::severity, refda_alarms_history_item_t::timestamp, and refda_alarms_entry_t::updated_at.
Referenced by test_refda_adm_ietf_alarms_list_no_category(), test_refda_adm_ietf_alarms_purge_all(), test_refda_alarms_compress_all(), test_refda_alarms_mgr_state_warning(), test_refda_alarms_purge_all(), test_refda_alarms_purge_warning(), and test_refda_alarms_set_state_no_category().