Trait rill_protocol::flow::core::Flow [−][src]
pub trait Flow: DataFraction { type Action: DataFraction; type Event: DataFraction; fn stream_type() -> StreamType; fn apply(&mut self, event: TimedEvent<Self::Event>); fn pack_state(&self) -> Result<PackedState, Error> { ... } fn unpack_state(data: &PackedState) -> Result<Self, Error> { ... } fn pack_event(delta: &TimedEvent<Self::Event>) -> Result<PackedEvent, Error> { ... } fn unpack_event(
data: &PackedEvent
) -> Result<TimedEvent<Self::Event>, Error> { ... } fn pack_action(action: &Self::Action) -> Result<PackedAction, Error> { ... } fn unpack_action(data: &PackedAction) -> Result<Self::Action, Error> { ... } }
Expand description
Immutable state of a data flow.
Associated Types
type Action: DataFraction
type Action: DataFraction
ControlEvent
- that send from a client to a server
type Event: DataFraction
type Event: DataFraction
UpdateEvent
- that sent from a server to a client
Required methods
fn stream_type() -> StreamType
fn apply(&mut self, event: TimedEvent<Self::Event>)
Provided methods
fn pack_state(&self) -> Result<PackedState, Error>
fn unpack_state(data: &PackedState) -> Result<Self, Error>
fn pack_event(delta: &TimedEvent<Self::Event>) -> Result<PackedEvent, Error>
fn unpack_event(data: &PackedEvent) -> Result<TimedEvent<Self::Event>, Error>
fn pack_action(action: &Self::Action) -> Result<PackedAction, Error>
fn unpack_action(data: &PackedAction) -> Result<Self::Action, Error>