syntax = "proto3";

message ShardState {
    int32 shard_id = 1;
    bool up = 2;
    int32 disconnection_count = 3;

    // milliseconds
    int32 latency = 4;

    // unix timestamp
    int32 last_heartbeat = 5;
    int32 last_connection = 6;

    optional int32 cluster_id = 7;
}

message GatewayEvent {
    int32 shard_id = 1;
    bytes payload = 2;
}