pub trait ProcessManager {
type State;
type Event;
type Effect;
type Error;
// Required method
fn handle(
&self,
state: &Self::State,
event: &Self::Event,
) -> Result<Transition<Self::State, Self::Effect>, Self::Error>;
}Expand description
English:
Computes a next state and effect descriptions from borrowed state and event values.
The caller owns persistence, event delivery, and effect execution. The signature does not enforce
determinism, reentrancy, idempotency, or purity; shared access can still use interior mutability.
Thread-safety bounds and panic behavior are left to implementations.
日本語:
借用した状態とイベントから、次状態と副作用の記述を算出します。
永続化、イベント配信、副作用の実行は呼び出し側が担います。このシグネチャは決定性、再入可能性、
冪等性、純粋性を強制せず、共有参照でも内部可変性を使えます。
スレッド安全性の境界とパニックの条件は実装が定めます。
Required Associated Types§
Sourcetype State
type State
English:
Process state borrowed as input and owned by the resulting transition.
日本語:
入力として借用し、結果の遷移が所有するプロセス状態です。
Sourcetype Event
type Event
English:
Event type interpreted by this manager; no event trait bound is required.
日本語:
このマネージャーが解釈するイベント型です。イベントトレイトの境界は要求しません。
Required Methods§
Sourcefn handle(
&self,
state: &Self::State,
event: &Self::Event,
) -> Result<Transition<Self::State, Self::Effect>, Self::Error>
fn handle( &self, state: &Self::State, event: &Self::Event, ) -> Result<Transition<Self::State, Self::Effect>, Self::Error>
English:
Evaluates event against state, returning a transition or a handling error.
Neither input is consumed. On error no transition is returned, but the trait does not
undo implementation side effects or guarantee that no side effects occurred.
日本語:
state に対して event を評価し、遷移または処理エラーを返します。
どちらの入力も消費しません。エラー時は遷移を返しませんが、実装の副作用を取り消したり、
副作用が発生していないと保証したりはしません。
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".