[][src]Trait lib3h_protocol::network_engine::NetworkEngine

pub trait NetworkEngine {
    fn post(&mut self, data: Lib3hClientProtocol) -> Lib3hProtocolResult<()>;
fn process(
        &mut self
    ) -> Lib3hProtocolResult<(DidWork, Vec<Lib3hServerProtocol>)>;
fn advertise(&self) -> Lib3hUri;
fn name(&self) -> String; }

Common interface for all types of network modules to be used by the Lib3hWorker

Required methods

fn post(&mut self, data: Lib3hClientProtocol) -> Lib3hProtocolResult<()>

Post a protocol message from core -> lib3h

fn process(
    &mut self
) -> Lib3hProtocolResult<(DidWork, Vec<Lib3hServerProtocol>)>

A single iteration of the networking process loop (should be called frequently to not cpu starve networking) Returns a vector of protocol messages core is required to handle.

fn advertise(&self) -> Lib3hUri

Get qualified transport address

fn name(&self) -> String

User supplied engine identifier

Loading content...

Implementors

Loading content...