syntax = "proto2"; enum Type { BOOTSTRAP_REQUEST = 1; BOOTSTRAP_RESPONSE = 2; CONNECTED = 3; DISCONNECTED = 4; STATE = 5; } message Message { required Type type = 1; map bootstrap = 2; // For bootstrap events optional bytes data = 3; // For state event optional bytes signature = 4; optional int64 timestamp = 5; optional bytes id = 6; // For connected and disconnected events } message State { repeated bytes connectedTo = 1; optional bytes data = 2; optional bytes signature = 3; optional int64 timestamp = 4; }