Skip to main content

Transform

Trait Transform 

Source
pub trait Transform {
    // Required method
    fn run<'async_trait>(
        self: Box<Self>,
        context: TransformContext,
    ) -> Pin<Box<dyn Future<Output = Result<(), GenericError>> + Send + 'async_trait>>
       where Self: 'async_trait;
}
Expand description

A transform.

Transforms sit in the middle of a topology, where events can be manipulated (for example, sampled, filtered, enriched) before being sent to the next components in the topology. Examples of typical transforms include origin enrichment, aggregation, and sampling.

Required Methods§

Source

fn run<'async_trait>( self: Box<Self>, context: TransformContext, ) -> Pin<Box<dyn Future<Output = Result<(), GenericError>> + Send + 'async_trait>>
where Self: 'async_trait,

Runs the transform.

The transform context provides access primarily to the event stream, used to receive events sent to the transforms, and the forwarder, used to send events to the next components in the topology, as well as other information such as the component context.

Transforms are expected to run indefinitely until their event stream is terminated, or an error occurs.

§Errors

If an unrecoverable error occurs while running, an error is returned.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§