ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Classes | Macros | Enumerations | Functions | Variables
raft.h File Reference

Definition of defines, structs and functions for raft app. More...

#include "cfe.h"
#include "cfe_error.h"
#include "cfe_evs.h"
#include "cfe_sb.h"
#include "cfe_es.h"
#include "cfe_platform_cfg.h"
#include <string.h>
#include <stdbool.h>
#include <time.h>
#include "raft_msg.h"
#include "raft_msgids.h"
#include "Icarous_msgids.h"

Go to the source code of this file.

Classes

struct  raftAppData_t
 Struct to hold raft app data. More...
 

Macros

#define RAFT_STARTUP_INF_EID   0
 
#define RAFT_COMMAND_ERR_EID   1
 
#define RAFT_RECEIVED_FENCE_EID   3
 
#define RAFT_PIPE_DEPTH   100
 
#define RAFT_HBEATPIPE_NAME   "RAFT_HBEAT_PIPE"
 
#define RAFT_SCHPIPE_NAME   "RAFT_SCH_PIPE"
 
#define RAFT_VOTEPIPE_NAME   "RAFT_VOTE_PIPE"
 
#define RAFT_DATAPIPE_NAME   "RAFT_DATA_PIPE"
 
#define RAFT_MAJOR_VERSION   1
 
#define RAFT_MINOR_VERSION   0
 

Enumerations

enum  Role_e {
  NEUTRAL , FOLLOWER , CANDIDATE , LEADER ,
  NEUTRAL , FOLLOWER , CANDIDATE , LEADER
}
 

Functions

void RAFT_AppMain (void)
 
void RAFT_AppInit (void)
 
void RAFT_AppInitializeData (void)
 
void RAFT_AppCleanUp (void)
 
void RAFT_ProcessPacket (void)
 
void heartbeatTimeoutCallback (uint32_t timerId)
 
void electionTimeoutCallback (uint32_t timerId)
 
void leaderTimeoutCallback (uint32_t timerId)
 
void raft_loop (void)
 
void raft_neutral (void)
 
void raft_follower (void)
 
void raft_candidate (void)
 
void raft_leader (void)
 
void raftProcessClientData (void)
 
void raftSendDataToClient (void)
 
void RAFT_SetNeutralPipeConfiguration (void)
 
void RAFT_SetFollowerPipeConfiguration (void)
 
void RAFT_SetCandidatePipeConfiguration (void)
 
void RAFT_SetLeaderPipeConfiguration (void)
 

Variables

EXTERN raftAppData_t raftAppData
 

Detailed Description

Author
Swee Balachandran

Function Documentation

◆ RAFT_AppCleanUp()

void RAFT_AppCleanUp ( void  )

App clean up

◆ RAFT_AppInit()

void RAFT_AppInit ( void  )

App initialization

◆ RAFT_AppInitializeData()

void RAFT_AppInitializeData ( void  )

Initialize data for this app

◆ RAFT_AppMain()

void RAFT_AppMain ( void  )

App's main entry point

◆ RAFT_ProcessPacket()

void RAFT_ProcessPacket ( void  )

Function to process received packets