pub trait ElementBuildable: Sized + Send + 'static {
    type Config: DeserializeOwned;

    const NAME: &'static str;
    const RECV_PORTS: Port = 0u8;
    const SEND_PORTS: Port = 0u8;

    fn new(conf: Self::Config) -> Result<Self, Error>;
    fn next(
        &mut self,
        pipeline: &mut Pipeline,
        receiver: &mut MsgReceiver
    ) -> ElementResult; fn acceptable_msg_types() -> Vec<Vec<MsgType>> { ... } fn finalizer(&mut self) -> Result<Option<ElementFinalizer>, Error> { ... } }
Expand description

Buildable element from config.

Required Associated Types§

Configuration type for this element

Required Associated Constants§

Name of this element. Must be unique in elements

Provided Associated Constants§

The number of receiving ports

The number of sending ports

Required Methods§

Create element from config

Get message from receiver and returns the result of this element.

Provided Methods§

Returns acceptable message type of this element

Returns the finalizer of this element

Implementors§