ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
election.h
Go to the documentation of this file.
1
6#pragma once
7
8#include <stdbool.h>
9#include <stdint.h>
10#include "metrics.h"
11#include <ascii-chat/common.h>
12
23uint32_t consensus_election_compute_score(const participant_metrics_t *metrics);
24
31asciichat_error_t consensus_election_choose_hosts(const participant_metrics_t *metrics, int num_metrics,
32 int *out_best_index, // Index of best host
33 int *out_backup_index // Index of backup host
34);
35
42asciichat_error_t consensus_election_verify(const participant_metrics_t *metrics, int num_metrics,
43 const uint8_t announced_host_id[16], const uint8_t announced_backup_id[16],
44 bool *out_valid);
⚙️ Common definitions, error codes, macros, and types shared throughout the application
uint32_t consensus_election_compute_score(const participant_metrics_t *metrics)
Compute deterministic score for a participant.
Definition election.c:13
asciichat_error_t consensus_election_choose_hosts(const participant_metrics_t *metrics, int num_metrics, int *out_best_index, int *out_backup_index)
Elect best and backup host from metrics.
Definition election.c:67
asciichat_error_t consensus_election_verify(const participant_metrics_t *metrics, int num_metrics, const uint8_t announced_host_id[16], const uint8_t announced_backup_id[16], bool *out_valid)
Verify election result matches expected scores.
Definition election.c:87
unsigned int uint32_t
Definition common.h:58
unsigned char uint8_t
Definition common.h:56
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:49
Ring consensus metrics collection and wire protocol.
ClangTool/LibTooling compatibility shim for stdbool.h.