proto: add RecordSpeedTest RPC + request/response messages

This commit is contained in:
BergaBruh
2026-05-09 18:21:43 +05:00
parent 1245c6eb43
commit ff85f21f5d
3 changed files with 243 additions and 19 deletions
+25
View File
@@ -14,6 +14,9 @@ service SpeedStatus {
// Auth: Bearer JWT (HS256) в gRPC metadata "authorization: Bearer <jwt>".
// Server validates: signature, exp, scope=="tunnel", optional revocation list.
rpc Tunnel(stream Frame) returns (stream Frame);
// RecordSpeedTest ingests a single speedtest sample from an edge node.
rpc RecordSpeedTest(RecordSpeedTestRequest) returns (RecordSpeedTestResponse);
}
message Filter {
@@ -60,3 +63,25 @@ message Frame {
bytes payload = 3; // raw TCP bytes
bytes padding = 4; // random padding для frame-length obfuscation
}
message RecordSpeedTestRequest {
// Unix epoch seconds. Required.
int64 timestamp = 1;
// Node identifier: "fl" or "pl1". Required.
string node = 2;
// ISO-2 country code resolved from client IP at the edge node. "XX" if unknown.
string country = 3;
// Mbps. >= 0.
double dl_mbps = 4;
// Mbps. >= 0.
double ul_mbps = 5;
// Milliseconds. >= 0.
double ping_ms = 6;
// Milliseconds. >= 0.
double jitter_ms = 7;
}
message RecordSpeedTestResponse {
// Server-assigned monotonic ID for the inserted row.
int64 id = 1;
}