package protocol import "encoding/json" // Signal is a client command. The server derives the sender from Peer’s // session binding, never from an asserted identity in the payload. type Signal struct { Peer PeerID `json:"peer"` Type string `json:"type"` To PeerID `json:"to,omitempty"` Seq uint64 `json:"seq,omitempty"` Gen uint64 `json:"gen,omitempty"` Payload json.RawMessage `json:"payload,omitempty"` }