|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
#include "reporting.h"#include "reporting_ctx.h"#include "valprod.h"#include "eval.h"#include "cace/ari/text.h"#include "cace/util/defs.h"#include "cace/util/logging.h"
Include dependency graph for reporting.c:Functions | |
| int | refda_reporting_ctrl (refda_runctx_t *runctx, const cace_ari_t *target, cace_ari_t *result) |
| Generate a RPTSET for the conclusion of a CTRL execution. | |
| static int | refda_reporting_item_ref (refda_runctx_t *runctx, cace_ari_t *prod_val, const cace_ari_t *rptt_item) |
| Treat any object reference as a value-producing activity, with the produced value reported on directly. | |
| static int | refda_reporting_rptt_val (refda_reporting_ctx_t *rptctx, const cace_ari_t *value) |
| Actually iterate through an RPTT and produce items. | |
| static int | refda_reporting_rptt_lit (refda_reporting_ctx_t *rptctx, const cace_ari_t *value) |
| static int | refda_reporting_rptt_ref (refda_reporting_ctx_t *rptctx, const cace_ari_t *target) |
| Report on an arbitrary object reference. | |
| int | refda_reporting_target (refda_runctx_t *runctx, const cace_ari_t *target, const cace_ari_t *destination) |
| Implement the reporting procedure from Section TBD of [ietf-dtn-amm-01]. | |
| int | refda_reporting_gen (refda_agent_t *agent, const cace_ari_t *destination, const cace_ari_t *src, cace_ari_list_t items) |
| Generate and queue a one-report RPTSET value. | |
| int refda_reporting_ctrl | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | target, | ||
| cace_ari_t * | result | ||
| ) |
Generate a RPTSET for the conclusion of a CTRL execution.
| [in] | runctx | The context for RPTSET aggregation. |
| [in] | target | The original execution target being reported on. |
| [in,out] | result | The result value to move into the report. |
References refda_runctx_t::agent, cace_ari_is_undefined(), cace_ari_set_copy(), cace_ari_set_rptset(), cace_ari_set_td(), CACE_LOG_DEBUG, refda_msgdata_t::ident, cace_ari_report_t::items, refda_runctx_t::mgr_ident, cace_ari_rptset_t::nonce, refda_runctx_t::nonce, refda_agent_nowtime(), refda_msgdata_init(), cace_ari_rptset_t::reftime, cace_ari_report_t::reltime, cace_ari_rptset_t::reports, result, refda_agent_t::rptgs, refda_agent_t::rptgs_sem, cace_ari_report_t::source, and refda_msgdata_t::value.
Referenced by refda_exec_proc_ctrl_finish(), and refda_exec_proc_expand().
| int refda_reporting_gen | ( | refda_agent_t * | agent, |
| const cace_ari_t * | destination, | ||
| const cace_ari_t * | src, | ||
| cace_ari_list_t | items | ||
| ) |
Generate and queue a one-report RPTSET value.
| [in] | agent | The agent doing the reporting. |
| [in] | destination | The identity of the manager to send to. |
| [in,out] | items | The item list for the new report, which is moved out of. |
References agent, cace_ari_not_undefined(), cace_ari_set_copy(), cace_ari_set_null(), cace_ari_set_rptset(), cace_ari_set_td(), CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_INFO, cace_log_is_enabled_for(), CACE_LOG_WARNING, refda_msgdata_t::ident, cace_ari_report_t::items, cace_ari_rptset_t::nonce, refda_agent_nowtime(), refda_msgdata_init(), cace_ari_rptset_t::reftime, cace_ari_report_t::reltime, cace_ari_rptset_t::reports, refda_agent_t::rptgs, refda_agent_t::rptgs_sem, cace_ari_report_t::source, and refda_msgdata_t::value.
Referenced by refda_reporting_target().
|
static |
Treat any object reference as a value-producing activity, with the produced value reported on directly.
References refda_runctx_t::agent, cace_amm_lookup_deinit(), cace_amm_lookup_deref(), cace_amm_lookup_init(), cace_ari_set_move(), CACE_ARI_TYPE_CONST, CACE_ARI_TYPE_EDD, CACE_ARI_TYPE_VAR, CACE_LOG_DEBUG, cace_amm_lookup_t::obj_type, refda_agent_t::objs, REFDA_REPORTING_ERR_BAD_TYPE, REFDA_REPORTING_ERR_DEREF_FAILED, refda_valprod_ctx_deinit(), refda_valprod_ctx_init(), refda_valprod_run(), and refda_valprod_ctx_t::value.
Referenced by refda_reporting_rptt_val().
|
static |
References refda_runctx_t::agent, cace_amm_type_match(), CACE_AMM_TYPE_MATCH_POSITIVE, CACE_LOG_DEBUG, CACE_LOG_WARNING, REFDA_REPORTING_ERR_BAD_TYPE, refda_reporting_rptt_val(), refda_agent_t::rptt_type, and refda_reporting_ctx_t::runctx.
Referenced by refda_reporting_rptt_ref(), and refda_reporting_target().
|
static |
Report on an arbitrary object reference.
References refda_runctx_t::agent, cace_amm_lookup_deinit(), cace_amm_lookup_deref(), cace_amm_lookup_init(), CACE_ARI_TYPE_CONST, CACE_ARI_TYPE_EDD, CACE_ARI_TYPE_VAR, CACE_LOG_DEBUG, cace_amm_lookup_t::obj_type, refda_agent_t::objs, REFDA_REPORTING_ERR_BAD_TYPE, REFDA_REPORTING_ERR_DEREF_FAILED, refda_reporting_rptt_lit(), refda_valprod_ctx_deinit(), refda_valprod_ctx_init(), refda_valprod_run(), refda_reporting_ctx_t::runctx, and refda_valprod_ctx_t::value.
Referenced by refda_reporting_target().
|
static |
Actually iterate through an RPTT and produce items.
References refda_runctx_t::agent, cace_amm_type_match(), CACE_AMM_TYPE_MATCH_POSITIVE, cace_ari_cget_ac(), cace_ari_deinit(), CACE_ARI_INIT_UNDEFINED, cace_ari_reset(), cace_ari_set_copy(), cace_ari_set_move(), CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, cace_log_is_enabled_for(), CACE_LOG_WARNING, CHKERR1, refda_agent_t::expr_type, cace_ari_t::is_ref, cace_ari_ac_t::items, refda_reporting_ctx_t::items, refda_eval_target(), refda_reporting_item_ref(), and refda_reporting_ctx_t::runctx.
Referenced by refda_reporting_rptt_lit().
| int refda_reporting_target | ( | refda_runctx_t * | runctx, |
| const cace_ari_t * | target, | ||
| const cace_ari_t * | destination | ||
| ) |
Implement the reporting procedure from Section TBD of [ietf-dtn-amm-01].
| [in] | runctx | The context for reporting. |
| [in] | target | The ARI to generate a report for. |
| [in] | destination | A destination endpoint to report to. A null value or pointer sends to the manager in refda_runctx_t::mgr_ident. |
References refda_runctx_t::agent, cace_ari_not_undefined(), CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, cace_log_is_enabled_for(), CACE_LOG_WARNING, CHKERR1, cace_ari_t::is_ref, refda_reporting_ctx_t::items, refda_reporting_ctx_deinit(), refda_reporting_ctx_init(), refda_reporting_gen(), refda_reporting_rptt_lit(), and refda_reporting_rptt_ref().
Referenced by refda_adm_ietf_dtnma_agent_ctrl_report_on(), and test_refda_reporting_target().