Skip to main content

ActionTransport

Trait ActionTransport 

pub trait ActionTransport {
    // Required method
    fn replicate(&mut self, env: &ActionEnvelope);

    // Provided method
    fn submit_to_host(&mut self, _env: &ActionEnvelope) -> HostDecision { ... }
}
Expand description

The transport an action is handed to after (or instead of) local execution — the seam between the pure action model and whatever moves bytes (in-process broker, compositor socket, Iroh). The model never imports a transport, only calls this trait.

Required Methods§

fn replicate(&mut self, env: &ActionEnvelope)

Replicate a locally-applied action to peers so they can replay it.

Provided Methods§

fn submit_to_host(&mut self, _env: &ActionEnvelope) -> HostDecision

Submit a ServerPreferred action to a host for authoritative execution. Default is unavailable, so a local-only transport fails closed for host-authoritative actions.

Implementors§