Next phase in the sequence, or `None` for terminal states.
(self)
| 87 | |
| 88 | /// Next phase in the sequence, or `None` for terminal states. |
| 89 | pub const fn next(self) -> Option<Self> { |
| 90 | match self { |
| 91 | Self::Boot => Some(Self::WalRecovery), |
| 92 | Self::WalRecovery => Some(Self::ClusterCatalogOpen), |
| 93 | Self::ClusterCatalogOpen => Some(Self::RaftMetadataReplay), |
| 94 | Self::RaftMetadataReplay => Some(Self::SchemaCacheWarmup), |
| 95 | Self::SchemaCacheWarmup => Some(Self::CatalogSanityCheck), |
| 96 | Self::CatalogSanityCheck => Some(Self::DataGroupsReplay), |
| 97 | Self::DataGroupsReplay => Some(Self::TransportBind), |
| 98 | Self::TransportBind => Some(Self::WarmPeers), |
| 99 | Self::WarmPeers => Some(Self::HealthLoopStart), |
| 100 | Self::HealthLoopStart => Some(Self::GatewayEnable), |
| 101 | Self::GatewayEnable => None, |
| 102 | Self::Failed => None, |
| 103 | } |
| 104 | } |
| 105 | |
| 106 | /// Decode from a `u8` — used by the `AtomicU8`-backed |
| 107 | /// sequencer state. |
no outgoing calls