| include "aos/network/message_bridge_server.fbs"; |
| |
| namespace aos.message_bridge; |
| |
| // Statistics from a single client connection to a server. |
| table ClientConnection { |
| // The node that we are connected to. |
| node:Node (id: 0); |
| |
| // Health of this connection. Connected or not? |
| state:State (id: 1); |
| |
| // Number of packets received on all channels. |
| received_packets:uint (id: 2); |
| |
| // This is the measured monotonic offset for just the server -> client |
| // direction measured in nanoseconds. Subtract this from our monotonic time |
| // to get their monotonic time. |
| monotonic_offset:int64 (id: 3); |
| |
| // Number of duplicate packets we received and dropped. |
| duplicate_packets:uint (id: 4); |
| |
| // Number of extra calls needed to receive a single message |
| // (indicates congestion) |
| partial_deliveries:uint (id: 5); |
| |
| // Boot UUID of the server. |
| boot_uuid:string (id: 6); |
| |
| // Time at which we connected to the server as nanoseconds on the local |
| // monotonic clock. This is not populated when not connected, and defaults |
| // to monotonic_clock::min_time. |
| connected_since_time:int64 = -9223372036854775808 (id: 7); |
| |
| // Number of times we've established a connection to the server. |
| connection_count:uint (id: 8); |
| } |
| |
| // Statistics for all clients. |
| table ClientStatistics { |
| connections:[ClientConnection] (id: 0); |
| } |
| |
| root_type ClientStatistics; |