From 33fd03ca0d864d091f6745a2981875d706b63cb6 Mon Sep 17 00:00:00 2001 From: Jm Casler Date: Sat, 27 Nov 2021 10:03:15 -0800 Subject: [PATCH] Draft of SF protobuf --- store_and_forward.proto | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 store_and_forward.proto diff --git a/store_and_forward.proto b/store_and_forward.proto new file mode 100644 index 0000000..7a2e738 --- /dev/null +++ b/store_and_forward.proto @@ -0,0 +1,127 @@ +syntax = "proto3"; + +option java_package = "com.geeksville.mesh"; +option java_outer_classname = "StoreAndForward"; +option optimize_for = LITE_RUNTIME; +option go_package = "github.com/meshtastic/gomeshproto"; + + + + + +message StoreAndForwardMessage { + + /* + * 1 - 100 = From router + * 101-200 = From client + */ + enum RequestResponse { + /* + * Unset/unused + */ + UNSET = 0; + + ROUTER_ERROR = 1; + + ROUTER_HEARTBEAT = 2; + + /* + * Router has requested the client respond. This can work as a + * "are you there" message. + */ + ROUTER_PING = 3; + + /* + * The response to a "Ping" + */ + ROUTER_PONG = 4; + + /* + * Router is currently busy. Please try again later. + */ + ROUTER_BUSY = 5; + + CLIENT_ERROR = 101; + + /* + * Client has requested a replay from the router. + */ + CLIENT_HISTORY = 102; + + /* + * Client has requested stats from the router. + */ + CLIENT_STATS = 103; + + /* + * Client has requested the router respond. This can work as a + * "are you there" message. + */ + CLIENT_PING = 104; + + /* + * The response to a "Ping" + */ + CLIENT_PONG = 105; + + MAX = 255; + } + + + message Statistics { + + /* + * Number of messages we have ever seen + */ + uint32 MessagesTotal = 1; + + /* + * Number of messages we have currently saved our history. + */ + uint32 MessagesSaved = 2; + + /* + * Maximum number of messages we will save + */ + uint32 MessagesMax = 3; + + /* + * Router uptime in seconds + */ + uint32 UpTime = 4; + + /* + * Number of times any client sent a request to the S&F. + */ + uint32 Requests = 5; + + /* + * Number of times the history was requested. + */ + uint32 RequestsHistory = 6; + + } + + message History { + + /* + * Number of that will be sent to the client + */ + uint32 HistoryMessages = 1; + + /* + * Earliest message (seconds since now) + */ + uint32 Earliest = 2; + + } + + + RequestResponse rr = 1; + + Statistics stats = 2; + + History history = 3; + + +} \ No newline at end of file