Skip to main content

SourceBuilder

Trait SourceBuilder 

Source
pub trait SourceBuilder: MemoryBounds {
    // Required methods
    fn outputs(&self) -> &[OutputDefinition<EventType>];
    fn build<'life0, 'async_trait>(
        &'life0 self,
        context: ComponentContext,
    ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Source + Send>, GenericError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

A source builder.

Source builders are responsible for creating instances of Sources, as well as describing high-level aspects of the built source, such as the event outputs exposed by the source.

Required Methods§

Source

fn outputs(&self) -> &[OutputDefinition<EventType>]

Event outputs exposed by this source.

Source

fn build<'life0, 'async_trait>( &'life0 self, context: ComponentContext, ) -> Pin<Box<dyn Future<Output = Result<Box<dyn Source + Send>, GenericError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Builds an instance of the source.

§Errors

If the source can’t be built for any reason, an error is returned.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§