|
DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
|
Execution sequence and item processing internal APIs. More...
Include dependency graph for exec_proc.h:
This graph shows which files directly or indirectly include this file:Functions | |
| int | refda_exec_proc_expand (refda_exec_seq_t *seq, size_t *seq_ix, const cace_ari_t *target) |
| Implement the expansion procedure from Section TBD of [ietf-dtn-amm-01]. | |
| int | refda_exec_proc_run (refda_exec_seq_t *seq) |
| Implement the running procedure from Section TBD of [ietf-dtn-amm-01]. | |
| int | refda_exec_proc_ctrl_start (refda_exec_seq_t *seq) |
| Execute a single CTRL, possibly deferring its finish. | |
| int | refda_exec_proc_ctrl_finish (refda_exec_item_t *item) |
| Finish the execution of an item referencing a single CTRL. | |
Execution sequence and item processing internal APIs.
Use the functions in exec.h as a public API.
| int refda_exec_proc_ctrl_finish | ( | refda_exec_item_t * | item | ) |
Finish the execution of an item referencing a single CTRL.
Also report on a result if requested.
References agent, refda_runctx_t::agent, cace_ari_cget_ref_objpath(), cace_ari_is_null(), cace_ari_is_undefined(), CACE_ARI_TEXT_ARITYPE_TEXT, CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), cace_ari_text_encode_objpath(), CACE_LOG_DEBUG, cace_log_is_enabled_for(), CACE_LOG_WARNING, refda_exec_item_t::deref, refda_exec_status_t::failed, refda_exec_status_t::finished, refda_agent_t::instr, refda_exec_seq_t::items, cace_amm_idseg_val_t::name, refda_runctx_t::nonce, refda_instr_t::num_ctrls_failed, refda_instr_t::num_ctrls_succeeded, cace_amm_lookup_t::obj, cace_amm_obj_desc_t::obj_id, refda_exec_seq_t::pid, refda_exec_item_t::ref, refda_reporting_ctrl(), refda_exec_item_t::result, refda_exec_seq_t::runctx, refda_exec_item_t::seq, and refda_exec_seq_t::status.
Referenced by refda_exec_proc_ctrl_start(), and refda_exec_worker_iteration().
| int refda_exec_proc_ctrl_start | ( | refda_exec_seq_t * | seq | ) |
Execute a single CTRL, possibly deferring its finish.
References refda_runctx_t::agent, cace_amm_obj_desc_t::app_data, CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, CACE_LOG_INFO, cace_log_is_enabled_for(), CHKERR1, refda_exec_item_t::deref, refda_amm_ctrl_desc_t::execute, refda_exec_item_t::execution_stage, refda_agent_t::instr, refda_exec_seq_t::items, refda_instr_t::num_ctrls_run, cace_amm_lookup_t::obj, cace_amm_user_data_t::ptr, refda_exec_item_t::ref, refda_ctrl_exec_ctx_deinit(), refda_ctrl_exec_ctx_init(), REFDA_EXEC_PENDING, refda_exec_proc_ctrl_finish(), REFDA_EXEC_WAITING, and refda_ctrl_exec_ctx_t::runctx.
Referenced by refda_exec_proc_run().
| int refda_exec_proc_expand | ( | refda_exec_seq_t * | seq, |
| size_t * | seq_ix, | ||
| const cace_ari_t * | target | ||
| ) |
Implement the expansion procedure from Section TBD of [ietf-dtn-amm-01].
| [in,out] | seq | A freshly initialized sequence to expand into with its runctx already set. |
| [in,out] | seq_ix | A non-null pointer to the sequence index to expand starting at. Will be set to one-past the expanded sequence. |
| [in] | target | The target to dereference, if necessary, and expand. |
References refda_runctx_t::agent, CACE_ARI_INIT_UNDEFINED, cace_ari_is_null(), CACE_ARI_TEXT_ENC_OPTS_DEFAULT, cace_ari_text_encode(), CACE_LOG_DEBUG, CACE_LOG_ERR, cace_log_is_enabled_for(), CHKERR1, refda_runctx_t::mgr_ident, refda_runctx_t::nonce, refda_exec_seq_t::pid, REFDA_AGENT_ERR_LOCK_FAILED, REFDA_AGENT_LOCK, REFDA_AGENT_UNLOCK, refda_exec_proc_exp_item(), refda_reporting_ctrl(), result, and refda_exec_seq_t::runctx.
Referenced by check_execute(), refda_exec_add_target(), refda_exec_next(), refda_exec_rule_action(), and test_util_agent_check_execute().
| int refda_exec_proc_run | ( | refda_exec_seq_t * | seq | ) |
Implement the running procedure from Section TBD of [ietf-dtn-amm-01].
This executes items in a sequence until the first deferred completion.
| [in,out] | seq | The sequence which will be popped as items are executed. |
References refda_exec_item_t::execution_stage, refda_exec_seq_t::items, refda_exec_proc_ctrl_start(), and REFDA_EXEC_WAITING.
Referenced by check_execute(), check_execute(), refda_exec_waiting(), and test_util_agent_check_execute().