Trait protoflow_core::Transport

source ·
pub trait Transport:
    AsTransport
    + Send
    + Sync {
    // Required methods
    fn state(&self, port: PortID) -> 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 method
    fn close(&self, port: PortID) -> PortResult<bool> { ... }
}

Required Methods§

Provided Methods§

source

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

Implementors§