pub enum RegistrationSlot<'a> {
Active(&'a str),
Candidate(&'a str),
Connection(ConnectionId),
}Expand description
Which registration a lookup or a lifecycle wait is about.
A module id alone stops naming one process once a blue/green swap runs two processes under the same id: the incumbent in the active slot, the replacement in the candidate slot, and, after cutover, the old incumbent demoted until its connection goes away. A wait keyed on the bare id would confuse them (a successful swap never empties the id’s active slot, and a candidate’s “has it registered yet” would be answered by the incumbent).
Variants§
Active(&'a str)
The routable registration for this module id. This is what every plain start, stop and restart path means by “the module is registered”.
Candidate(&'a str)
A swap candidate registered under this module id and not yet promoted.
Connection(ConnectionId)
Whatever registration this module connection holds, in any slot.