[−][src]Enum xaynet_server::state_machine::StateMachine
The state machine with all its states.
Variants
Idle(PhaseState<Idle, C, M>)
Sum(PhaseState<Sum, C, M>)
Update(PhaseState<Update, C, M>)
Sum2(PhaseState<Sum2, C, M>)
Unmask(PhaseState<Unmask, C, M>)
Error(PhaseState<PhaseStateError, C, M>)
Shutdown(PhaseState<Shutdown, C, M>)
Implementations
impl<C, M> StateMachine<C, M> where
PhaseState<Idle, C, M>: Phase<C, M>,
PhaseState<Sum, C, M>: Phase<C, M>,
PhaseState<Update, C, M>: Phase<C, M>,
PhaseState<Sum2, C, M>: Phase<C, M>,
PhaseState<Unmask, C, M>: Phase<C, M>,
PhaseState<PhaseStateError, C, M>: Phase<C, M>,
PhaseState<Shutdown, C, M>: Phase<C, M>,
C: CoordinatorStorage,
M: ModelStorage,
[src]
PhaseState<Idle, C, M>: Phase<C, M>,
PhaseState<Sum, C, M>: Phase<C, M>,
PhaseState<Update, C, M>: Phase<C, M>,
PhaseState<Sum2, C, M>: Phase<C, M>,
PhaseState<Unmask, C, M>: Phase<C, M>,
PhaseState<PhaseStateError, C, M>: Phase<C, M>,
PhaseState<Shutdown, C, M>: Phase<C, M>,
C: CoordinatorStorage,
M: ModelStorage,
pub async fn next(self) -> Option<Self>
[src]
Moves the StateMachine
to the next state and consumes the current one.
Returns the next state or None
if the StateMachine
reached the state Shutdown
.
pub async fn run(self) -> Option<()>
[src]
Runs the state machine until it shuts down.
The StateMachine
shuts down once all RequestSender
have been dropped.
Trait Implementations
impl<C, M> From<PhaseState<Idle, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Idle, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<PhaseStateError, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<PhaseStateError, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<Shutdown, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Shutdown, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<Sum, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Sum, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<Sum2, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Sum2, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<Unmask, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Unmask, C, M>) -> StateMachine<C, M>
[src]
impl<C, M> From<PhaseState<Update, C, M>> for StateMachine<C, M> where
C: CoordinatorStorage,
M: ModelStorage,
[src]
C: CoordinatorStorage,
M: ModelStorage,
pub fn from(original: PhaseState<Update, C, M>) -> StateMachine<C, M>
[src]
Auto Trait Implementations
impl<C, M> !RefUnwindSafe for StateMachine<C, M>
[src]
impl<C, M> Send for StateMachine<C, M>
[src]
impl<C, M> Sync for StateMachine<C, M>
[src]
impl<C, M> Unpin for StateMachine<C, M> where
C: Unpin,
M: Unpin,
[src]
C: Unpin,
M: Unpin,
impl<C, M> !UnwindSafe for StateMachine<C, M>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,