Trait SystemBuilding

Source
pub trait SystemBuilding {
    // Required methods
    fn input<M>(&self) -> InputPort<M>
       where M: Message + 'static;
    fn output<M>(&self) -> OutputPort<M>
       where M: Message + 'static;
    fn block<B>(&mut self, block: B) -> B
       where B: Block + Clone + 'static;
    fn connect<M>(
        &mut self,
        source: &OutputPort<M>,
        target: &InputPort<M>,
    ) -> bool
       where M: Message;

    // Provided methods
    fn input_any(&self) -> InputPort<Any> { ... }
    fn input_bytes(&self) -> InputPort<Bytes> { ... }
    fn input_string(&self) -> InputPort<String> { ... }
    fn output_any(&self) -> OutputPort<Any> { ... }
    fn output_bytes(&self) -> OutputPort<Bytes> { ... }
    fn output_string(&self) -> OutputPort<String> { ... }
}

Required Methods§

Source

fn input<M>(&self) -> InputPort<M>
where M: Message + 'static,

Creates a new input port inside the system.

Source

fn output<M>(&self) -> OutputPort<M>
where M: Message + 'static,

Creates a new output port inside the system.

Source

fn block<B>(&mut self, block: B) -> B
where B: Block + Clone + 'static,

Instantiates a block inside the system.

Source

fn connect<M>(&mut self, source: &OutputPort<M>, target: &InputPort<M>) -> bool
where M: Message,

Connects two ports of two blocks in the system.

Both ports must be of the same message type.

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§