ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
raft_msg.h
Go to the documentation of this file.
6#ifndef ICAROUS_CFS_RAFT_MSG_H
7#define ICAROUS_CFS_RAFT_MSG_H
8
9#include "cfe.h"
10#include "merger_msg.h"
11
12#define MAX_NODES 5
13
14typedef struct __attribute__((__packed__)){
15 int8_t aircraftID;
16 int8_t intersectionID;
17 double earlyArrivalTime;
18 double currentArrivalTime;
19 double lateArrivalTime;
20 int32_t numSchedulesComputed;
21 uint8_t zoneStatus;
22}report_t;
23
24
25
30typedef struct __attribute__((__packed__)){
31 CCSDS_PriHdr_t hdr;
32 int32_t intersectionID;
33 uint8_t nodeRole;
34 uint32_t totalNodes;
35 report_t log[MAX_NODES];
36}cDataLog_t;
37
44typedef struct{
45 uint8_t TlmHeader[CFE_SB_TLM_HDR_SIZE];
47 uint32_t leaderID;
48 uint32_t totalNodes;
49 uint32_t logIndex;
50 uint32_t term;
51 report_t log[MAX_NODES];
53
60typedef struct{
61 uint8_t TlmHeader[CFE_SB_TLM_HDR_SIZE];
63 uint32_t followerID;
64 report_t nodeData;
65 uint32_t logIndex;
67
68
73typedef struct{
74 uint8_t TlmHeader[CFE_SB_TLM_HDR_SIZE];
76 uint32_t candidateID;
77 uint32_t term;
79
84typedef struct{
85 uint8_t TlmHeader[CFE_SB_TLM_HDR_SIZE];
87 uint32_t candidateID;
88 uint32_t nodeID;
89 uint32_t term;
91
92
93#endif //ICAROUS_CFS_RAFT_MSG_H
Defintion of messages used by merger_msg.h.
struct __attribute__((__packed__))
Definition: raft_msg.h:14
raft heartbeat sent to followers from the leader node
Definition: raft_msg.h:44
int32_t intersectionID
Definition: raft_msg.h:46
uint32_t term
Definition: raft_msg.h:50
uint32_t logIndex
Definition: raft_msg.h:49
uint32_t leaderID
Definition: raft_msg.h:47
uint32_t totalNodes
Definition: raft_msg.h:48
acknowledgement data from follower nodes
Definition: raft_msg.h:60
uint32_t logIndex
Definition: raft_msg.h:65
uint32_t followerID
Definition: raft_msg.h:63
int32_t intersectionID
Definition: raft_msg.h:62
message leader uses to request votes from followers
Definition: raft_msg.h:73
uint32_t term
Definition: raft_msg.h:77
uint32_t candidateID
Definition: raft_msg.h:76
int32_t intersectionID
Definition: raft_msg.h:75
followers respond to vote reqeuests with this message
Definition: raft_msg.h:84
int32_t intersectionID
Definition: raft_msg.h:86
uint32_t nodeID
Definition: raft_msg.h:88
uint32_t term
Definition: raft_msg.h:89
uint32_t candidateID
Definition: raft_msg.h:87