DTNMA Reference Tools v2.1.0 - 7.g389b8d8
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
exec_proc.h File Reference

Execution sequence and item processing internal APIs. More...

#include "exec_seq.h"
#include "exec_item.h"
#include "runctx.h"
#include <m-deque.h>
+ 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.
 

Detailed Description

Execution sequence and item processing internal APIs.

Use the functions in exec.h as a public API.

Function Documentation

◆ refda_exec_proc_ctrl_finish()

◆ refda_exec_proc_expand()

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

Parameters
[in,out]seqA freshly initialized sequence to expand into with its runctx already set.
[in,out]seq_ixA non-null pointer to the sequence index to expand starting at. Will be set to one-past the expanded sequence.
[in]targetThe target to dereference, if necessary, and expand.
Returns
Zero if successful.

References refda_runctx_t::agent, CACE_ARI_INIT_UNDEFINED, 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, and refda_exec_seq_t::runctx.

◆ refda_exec_proc_run()

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.

Parameters
[in,out]seqThe sequence which will be popped as items are executed.
Returns
Zero if this sequence executed without error (so far).

References refda_exec_item_t::execution_stage, and refda_exec_seq_t::items.