diff --git a/go/membership/membership.go b/go/membership/membership.go index c942ccc..8fd93fd 100644 --- a/go/membership/membership.go +++ b/go/membership/membership.go @@ -74,11 +74,17 @@ type SeatServed struct { // StateIssued is one bucket an assignment may reach, by the name its module uses for it (novox/hq ADR 0201). // Key, when set, is the one key it may reach (novox/hq ADR 0260): this machine's. +// +// PerNode says the state is kept one bucket per node (novox/hq ADR 0593 ยง6: `composed-`): Bucket is then the +// buckets' prefix, each bucket the prefix and a node's name, and a key's first part names its node and so its bucket. +// The runtime reads it as one state (as process.NodeFamily does): a key from its node's bucket, the keys and a watch over +// every bucket of the family, one created later included. Read only: PerNode is never issued with Writes. type StateIssued struct { - Name string `json:"name"` - Bucket string `json:"bucket"` - Writes bool `json:"writes,omitempty"` - Key string `json:"key,omitempty"` + Name string `json:"name"` + Bucket string `json:"bucket"` + Writes bool `json:"writes,omitempty"` + Key string `json:"key,omitempty"` + PerNode bool `json:"per-node,omitempty"` } // LogIssued is one log an assignment may reach, by the name its module uses for it (novox/hq ADR 0297).