The grants part composes the bus's user list with the composer the controller uses (ADR 0547 §5), copied rather than moved: the controller is not changed and keeps its own until it loses the lease. Left out: the bus client, the broker's address from the environment and the client's two methods; the lease's two subjects are copied in. One table test holds the copy to four meshes' lists and the server golden, written by the controller's own internal/broker from the same fixtures (testdata/controller-user-lists.json).
12 lines
510 B
Go
12 lines
510 B
Go
package buscompose
|
|
|
|
import "strings"
|
|
|
|
// A seat's cancelled set (novox/hq ADR 0219) is a bucket the mesh no longer raises or grants (R4g, ADR 0525 clause 6): the
|
|
// controller asks no work queue, so nothing is cancelled. A bus that still holds one is not reported as state nothing declares.
|
|
|
|
// IsCancelledSet says a bucket is a seat's cancelled set rather than a module's state.
|
|
func IsCancelledSet(bucket string) bool {
|
|
return strings.HasPrefix(bucket, "SEAT_") && strings.HasSuffix(bucket, "_cancelled")
|
|
}
|