Trait fedimint_client::sm::IState
source · pub trait IState<GC>: Debug + DynEncodable + MaybeSend + MaybeSync {
// Required methods
fn as_any(&self) -> &(dyn Any + Send + Sync);
fn transitions(
&self,
context: &DynContext,
global_context: &GC
) -> Vec<StateTransition<DynState<GC>>>;
fn operation_id(&self) -> OperationId;
fn clone(&self, module_instance_id: ModuleInstanceId) -> DynState<GC>;
fn erased_eq_no_instance_id(&self, other: &DynState<GC>) -> bool;
}
Expand description
Object-safe version of State
Required Methods§
fn as_any(&self) -> &(dyn Any + Send + Sync)
sourcefn transitions(
&self,
context: &DynContext,
global_context: &GC
) -> Vec<StateTransition<DynState<GC>>>
fn transitions( &self, context: &DynContext, global_context: &GC ) -> Vec<StateTransition<DynState<GC>>>
All possible transitions from the state
sourcefn operation_id(&self) -> OperationId
fn operation_id(&self) -> OperationId
Operation this state machine belongs to. See OperationId
for
details.
sourcefn clone(&self, module_instance_id: ModuleInstanceId) -> DynState<GC>
fn clone(&self, module_instance_id: ModuleInstanceId) -> DynState<GC>
Clone state