blob: 031f80119bf7aeb11aeae32cda9c970fb4b7a4d2 [file] [log] [blame]
include "aos/configuration.fbs";
namespace aos.message_bridge;
// State of the connection.
enum State: ubyte {
CONNECTED,
DISCONNECTED,
}
// Statistics from a single connection to a client from this server.
table ServerConnection {
// 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 that have been dropped (if known).
dropped_packets:uint (id: 2);
// Number of packets sent on all channels.
sent_packets:uint (id: 3);
// This is the measured monotonic offset for the connected node in
// nanoseconds. Add this to our monotonic time to get their
// monotonic time.
monotonic_offset:int64 (id: 4);
// Boot UUID of the client.
boot_uuid:string (id: 5);
// Number of extra calls needed to receive a single message
// (indicates congestion)
partial_deliveries:uint (id: 6);
// Time at which we connected to the client 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 connections to all the clients.
table ServerStatistics {
connections:[ServerConnection] (id: 0);
// Count of timestamp send failures
timestamp_send_failures:uint64 (id: 1);
}
root_type ServerStatistics;