DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
reporting.c File Reference
#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.
 

Function Documentation

◆ refda_reporting_ctrl()

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.

Parameters
[in]runctxThe context for RPTSET aggregation.
[in]targetThe original execution target being reported on.
[in,out]resultThe result value to move into the report.
Returns
Zero if successful.

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().

◆ refda_reporting_gen()

int refda_reporting_gen ( refda_agent_t agent,
const cace_ari_t destination,
const cace_ari_t src,
cace_ari_list_t  items 
)

◆ refda_reporting_item_ref()

◆ refda_reporting_rptt_lit()

◆ refda_reporting_rptt_ref()

◆ refda_reporting_rptt_val()

◆ refda_reporting_target()

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].

Parameters
[in]runctxThe context for reporting.
[in]targetThe ARI to generate a report for.
[in]destinationA destination endpoint to report to. A null value or pointer sends to the manager in refda_runctx_t::mgr_ident.
Returns
Zero if successful.

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().