Trait Transport

Source
pub trait Transport:
    AsTransport
    + Send
    + Sync {
    // Required methods
    fn input_state(&self, port: InputPortID) -> PortResult<PortState>;
    fn output_state(&self, port: OutputPortID) -> PortResult<PortState>;
    fn open_input(&self) -> PortResult<InputPortID>;
    fn open_output(&self) -> PortResult<OutputPortID>;
    fn close_input(&self, input: InputPortID) -> PortResult<bool>;
    fn close_output(&self, output: OutputPortID) -> PortResult<bool>;
    fn connect(
        &self,
        source: OutputPortID,
        target: InputPortID,
    ) -> PortResult<bool>;
    fn send(&self, output: OutputPortID, message: Bytes) -> PortResult<()>;
    fn recv(&self, input: InputPortID) -> PortResult<Option<Bytes>>;
    fn try_recv(&self, input: InputPortID) -> PortResult<Option<Bytes>>;

    // Provided methods
    fn state(&self, port: PortID) -> PortResult<PortState> { ... }
    fn close(&self, port: PortID) -> PortResult<bool> { ... }
}

Required Methods§

Provided Methods§

Source

fn state(&self, port: PortID) -> PortResult<PortState>

Source

fn close(&self, port: PortID) -> PortResult<bool>

Implementors§