1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef OMPI_SEQ_TRACKER_H
20 #define OMPI_SEQ_TRACKER_H
21
22 #include "ompi_config.h"
23 #include "opal/class/opal_list.h"
24 #include "ompi/constants.h"
25
26 BEGIN_C_DECLS
27
28 struct ompi_seq_tracker_range_t{
29 opal_list_item_t super;
30 uint32_t seq_id_high;
31 uint32_t seq_id_low;
32 };
33 typedef struct ompi_seq_tracker_range_t ompi_seq_tracker_range_t;
34
35 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_seq_tracker_range_t);
36
37 struct ompi_seq_tracker_t{
38 opal_list_t seq_ids;
39 ompi_seq_tracker_range_t* seq_ids_current;
40
41 };
42 typedef struct ompi_seq_tracker_t ompi_seq_tracker_t;
43
44 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(ompi_seq_tracker_t);
45
46
47
48
49
50
51
52 OMPI_DECLSPEC bool ompi_seq_tracker_check_duplicate(
53 ompi_seq_tracker_t* seq_tracker,
54 uint32_t seq_id);
55
56
57
58
59
60
61 OMPI_DECLSPEC void ompi_seq_tracker_insert(ompi_seq_tracker_t* seq_tracker, uint32_t seq_i);
62
63
64
65
66 OMPI_DECLSPEC void ompi_seq_tracker_copy(ompi_seq_tracker_t* dst, ompi_seq_tracker_t* src);
67
68 END_C_DECLS
69 #endif
70