46 lines
2.5 KiB
Go
46 lines
2.5 KiB
Go
package assign
|
|
|
|
import nec "git.novox.be/novox/mesh-contracts/go/clients/nodeengineclient"
|
|
|
|
// Judgement is the assigner's judgement of a move from the composition a node runs, as its have names it, to a new one
|
|
// (ADR 0539 clauses 2 and 14, by ADR 0377 §3's tests). The three the node-engine names are its have's words (a have's
|
|
// judgement); neither and unchanged are the assigner's own.
|
|
type Judgement = string
|
|
|
|
// The judgements of a move.
|
|
const (
|
|
// JudgedRecreates is a move that recreates a container.
|
|
JudgedRecreates = nec.JudgedRecreates
|
|
// JudgedMovesData is a move that gives the module's data another place.
|
|
JudgedMovesData = nec.JudgedMovesData
|
|
// JudgedNeither is a move that does neither, and the judgement of a composition the node never ran.
|
|
JudgedNeither = "neither"
|
|
// JudgedCannot is a move that cannot be judged, because the composition the node runs is gone or cannot be read.
|
|
JudgedCannot = nec.JudgedCannot
|
|
// JudgedUnchanged is a composition equal to the module's slice of the declaration the node last applied, for a node
|
|
// whose have names no composition yet (the first want at the switch, novox/hq ADR 0540 clause 9): applying it
|
|
// changes nothing on the node, so it needs no person's yes.
|
|
JudgedUnchanged = "unchanged"
|
|
)
|
|
|
|
// ComposedDigest is what the assigner knows of a composition beside the node's have: its Digest, and the Judgement of the
|
|
// move to it from the composition the node runs now, whose digest is Against (empty when the node runs no composition of
|
|
// the module). Words say why, and are required for a move that cannot be judged.
|
|
//
|
|
// Policy is the module's upgrade policy as the assigner holds it (ADR 0236, ADR 0539 clause 14), with PolicyFrom where it
|
|
// comes from and PolicyWhy why: the assigner holds a move of a module of policy record from it.
|
|
type ComposedDigest struct {
|
|
V int `json:"v"`
|
|
Digest string `json:"digest"`
|
|
Judgement Judgement `json:"judgement"`
|
|
Against string `json:"against,omitempty"`
|
|
Words string `json:"words,omitempty"`
|
|
// UserListOnly says the composition differs from the one the node's have names only in the bus's user list, whatever
|
|
// the judgement says of its mount: the assigner writes such a revision into the bus node's want at once, outside the
|
|
// record hold (ADR 0539 clause 7).
|
|
UserListOnly bool `json:"user-list-only,omitempty"`
|
|
Policy string `json:"policy,omitempty"`
|
|
PolicyFrom string `json:"policy-from,omitempty"`
|
|
PolicyWhy string `json:"policy-why,omitempty"`
|
|
}
|