ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
election.h
Go to the documentation of this file.
1
5
6#pragma once
7
9#include <stdbool.h>
10#include <stdint.h>
11#include "metrics.h"
12#include <ascii-chat/common.h>
13
24uint32_t consensus_election_compute_score(const participant_metrics_t *metrics);
25
32asciichat_error_t consensus_election_choose_hosts(const participant_metrics_t *metrics, int num_metrics,
33 int *out_best_index, // Index of best host
34 int *out_backup_index // Index of backup host
35);
36
43asciichat_error_t consensus_election_verify(const participant_metrics_t *metrics, int num_metrics,
44 const uint8_t announced_host_id[SESSION_ID_SIZE],
45 const uint8_t announced_backup_id[SESSION_ID_SIZE], 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:14
asciichat_error_t consensus_election_verify(const participant_metrics_t *metrics, int num_metrics, const uint8_t announced_host_id[SESSION_ID_SIZE], const uint8_t announced_backup_id[SESSION_ID_SIZE], bool *out_valid)
Verify election result matches expected scores.
Definition election.c:107
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:79
unsigned int uint32_t
Definition common.h:62
unsigned char uint8_t
Definition common.h:60
asciichat_error_t
Error and exit codes - unified status values (0-255).
Definition error_codes.h:44
#define SESSION_ID_SIZE
Ring consensus metrics collection and wire protocol.