Get desktop application:
View/edit binary Protocol Buffers messages
Concurrency defines whether a resource can have multiple subjects acting on it at once.
Used in: ,
State represents the state of control over a resource at a point in time, capturing who controls what and with how much authority.
Used in:
subject is the entity controlling the resource.
resource is the resource being controlled.
authority is the level of control authority the subject has over the resource.
Subject is an entity that can hold control authority over a resource. Typically represents a user, process, or service.
Used in: , ,
key is a unique identifier for the subject.
name is a human-readable name for the subject.
group optional identifier shared by subjects from the same logical group (e.g.) all writers from the same Driver rack.
Transfer represents a transfer of control over a resource. It is represented as a transition from one state to another over the same resource. A transfer between resources that are different will result in a panic when any transfer methods are called. If From is nil, the entity was uncontrolled before the transfer. If To is nil, the resource is uncontrolled after the transfer. If both From and To are nil, no transfer occurred. If both From and To are not nil, and From.Subject != To.Subject, a transfer occurred.
Used in:
from the previous authority holder. Null on initial acquire.
to the new authority holder. Null on release.
Update represents a batch of control transfers that occurred atomically.
transfers is the list of control transfers that occurred in this update.