DTNMA Reference Tools v2.1.0 - 13.gc5c0bac
Delay-Tolerant Networking Management Architecture (DTNMA) Tool Suite
Loading...
Searching...
No Matches
exec_item.h File Reference
#include <cace/amm/lookup.h>
#include <cace/ari.h>
#include <m-atomic.h>
#include <semaphore.h>
+ Include dependency graph for exec_item.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  refda_exec_item_t
 Each item in an execution sequence, which corresponds to a dereferenced control. More...
 

Macros

#define M_OPL_refda_exec_item_t()    (INIT(API_2(refda_exec_item_init)), CLEAR(API_2(refda_exec_item_deinit)), INIT_SET(0), SET(0))
 M*LIB OPLIST for refda_exec_item_t.
 

Typedefs

typedef struct refda_exec_seq_s refda_exec_seq_t
 

Enumerations

enum  refda_exec_item_status_t { REFDA_EXEC_PENDING = 0 , REFDA_EXEC_RUNNING , REFDA_EXEC_WAITING , REFDA_EXEC_COMPLETE }
 Possible execution states for a single CTRL item refda_exec_item_t. More...
 

Functions

void refda_exec_item_resume (refda_exec_item_t *obj)
 Wake up a "waiting" exec item.
 
void refda_exec_item_init (refda_exec_item_t *obj)
 Interface for M*LIB use.
 
void refda_exec_item_deinit (refda_exec_item_t *obj)
 Interface for M*LIB use.
 

Macro Definition Documentation

◆ M_OPL_refda_exec_item_t

#define M_OPL_refda_exec_item_t ( )     (INIT(API_2(refda_exec_item_init)), CLEAR(API_2(refda_exec_item_deinit)), INIT_SET(0), SET(0))

M*LIB OPLIST for refda_exec_item_t.

Typedef Documentation

◆ refda_exec_seq_t

typedef struct refda_exec_seq_s refda_exec_seq_t

Enumeration Type Documentation

◆ refda_exec_item_status_t

Possible execution states for a single CTRL item refda_exec_item_t.

The final state of finished is when the item gets deleted.

Enumerator
REFDA_EXEC_PENDING 

Indicator that this item is yet to be completed or paused.

REFDA_EXEC_RUNNING 

Indicator that this item is running.

REFDA_EXEC_WAITING 

Indicator that this item is waiting on an external event to complete.

REFDA_EXEC_COMPLETE 

Indicator that this item completed execution but is not finished.

Function Documentation

◆ refda_exec_item_deinit()

◆ refda_exec_item_init()

◆ refda_exec_item_resume()

void refda_exec_item_resume ( refda_exec_item_t obj)

Wake up a "waiting" exec item.

This can be called externally in the use case where there is an exec item that has been paused and deferred without blocking or using the timeline. Once this function is called, refda_exec_ctrl_finish will be called in the exec worker.

References refda_exec_item_t::execution_stage, REFDA_EXEC_COMPLETE, refda_exec_seq_t::runctx, and refda_exec_item_t::seq.