latency_measure/
protocol.rs

1use std::fmt::Debug;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
6pub struct Timestamped<T: Debug> {
7    pub timestamp: isize,
8    pub data: T,
9}
10
11#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
12pub enum TopolotreeMessage {
13    Payload(Payload<i64>),
14    Ping(),
15    Pong(),
16}
17
18#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
19pub struct Payload<T: Debug> {
20    pub key: u64,
21    pub contents: Timestamped<T>,
22}
23
24#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq)]
25pub struct OperationPayload {
26    pub key: u64,
27    pub change: i64,
28}
29
30#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Eq, Hash)]
31pub struct QueryResponse {
32    pub key: u64,
33    pub value: i64,
34}