pub trait Relay {
// Required method
fn run<'async_trait>(
self: Box<Self>,
context: RelayContext,
) -> Pin<Box<dyn Future<Output = Result<(), GenericError>> + Send + 'async_trait>>
where Self: 'async_trait;
}Expand description
A relay.
Relays are the initial entrypoint to a topology for accepting raw payloads. Unlike sources, which decode/parse incoming data into events, relays simply accept raw bytes from the network and output them as payloads for downstream processing.
Required Methods§
Sourcefn run<'async_trait>(
self: Box<Self>,
context: RelayContext,
) -> Pin<Box<dyn Future<Output = Result<(), GenericError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn run<'async_trait>(
self: Box<Self>,
context: RelayContext,
) -> Pin<Box<dyn Future<Output = Result<(), GenericError>> + Send + 'async_trait>>where
Self: 'async_trait,
Runs the relay.
The relay context provides access primarily to the payloads dispatcher, used to send raw payloads to the next component(s) in the topology, as well as other information such as the component context.
Relays are expected to run indefinitely until their shutdown is triggered by the topology, or an error occurs.
§Errors
If an unrecoverable error occurs while running, an error is returned.