asrt
Automated System Runtime Testing library
Loading...
Searching...
No Matches
cntr_assm.h
1
11
12#ifndef ASRTC_ASSEMBLY_H
13#define ASRTC_ASSEMBLY_H
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include "../asrtc/collect.h"
20#include "../asrtc/controller.h"
21#include "../asrtc/diag.h"
22#include "../asrtc/param.h"
23#include "../asrtc/stream.h"
24
25typedef enum asrt_status (
26 *asrt_assembly_exec_cb )( void* ptr, enum asrt_status s, struct asrt_result* res );
27
29{
30 uint16_t tid;
31 uint32_t timeout;
32 asrt_assembly_exec_cb cb;
33 void* cb_ptr;
34};
35
37{
38 struct asrt_send_req_list send_queue;
39
40 struct asrt_controller cntr;
41 struct asrt_diag_server diag;
42 struct asrt_collect_server collect;
43 struct asrt_param_server param;
44 struct asrt_stream_server stream;
45 //
46 struct asrt_assembly_exec_handler exec_hndl;
47};
48
49enum asrt_status asrt_cntr_assm_init(
50 struct asrt_cntr_assm* assembly,
51 struct asrt_allocator alloc );
52
53void asrt_cntr_assm_deinit( struct asrt_cntr_assm* assembly );
54
55static inline void asrt_cntr_assm_tick( struct asrt_cntr_assm* assembly, uint32_t now )
56{
57 asrt_chann_tick_successors( &assembly->cntr.node, now );
58}
59
63enum asrt_status asrt_cntr_assm_exec_test(
64 struct asrt_cntr_assm* assembly,
65 struct asrt_flat_tree const* tree,
66 asrt_flat_id root_id,
67 uint16_t tid,
68 uint32_t timeout,
69 asrt_assembly_exec_cb cb,
70 void* cb_ptr );
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif // ASRTC_ASSEMBLY_H
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee ...
Definition: allocator.h:28
Definition: cntr_assm.h:29
Definition: cntr_assm.h:37
Controller-side collect server (ASRT_COLL channel).
Definition: collect.h:55
Controller module — CORE channel, host side.
Definition: controller.h:42
Diagnostic server module — DIAG channel, controller side.
Definition: diag.h:42
node_id maps to blocks[node_id / node_capacity][node_id % node_capacity].
Definition: flat_tree.h:121
Param server module — PARAM channel, controller side.
Definition: param.h:38
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee ...
Definition: result.h:25
asrt_test_result res
Pass / failure / error code.
Definition: result.h:28
Intrusive FIFO of outgoing send requests.
Definition: chann.h:76
Controller-side stream server (ASRT_STRM channel).
Definition: stream.h:66