whippet/message.fbs
2025-05-15 15:48:24 +02:00

45 lines
608 B
Plaintext

// file: message.fbs
namespace proto;
enum MessageType : byte {
NONE = 0,
DATA = 1,
ACK = 2,
HEARTBEAT = 3
}
table DataMessage {
id: string;
topic: string;
timestamp: ulong;
payload: [ubyte];
metadata: [KeyValue];
}
table AckMessage {
acked_id: string;
timestamp: ulong;
}
table HeartBeatMessage {
client_id: string;
timestamp: ulong;
}
table KeyValue {
key: string;
value: string;
}
union Message {
DataMessage,
AckMessage,
HeartBeatMessage,
}
table Envelope {
type: MessageType;
message: Message;
}
root_type Envelope;