Trait vector::config::SinkConfig
source · pub trait SinkConfig: DynClone + NamedComponent + Debug + Send + Sync + Serialize + Deserialize {
// Required methods
fn build<'life0, 'async_trait>(
&'life0 self,
cx: SinkContext,
) -> Pin<Box<dyn Future<Output = Result<(VectorSink, Healthcheck)>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn input(&self) -> Input;
fn acknowledgements(&self) -> &AcknowledgementsConfig;
// Provided method
fn resources(&self) -> Vec<Resource> { ... }
}
Expand description
Generalized interface for describing and building sink components.
Required Methods§
sourcefn build<'life0, 'async_trait>(
&'life0 self,
cx: SinkContext,
) -> Pin<Box<dyn Future<Output = Result<(VectorSink, Healthcheck)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn build<'life0, 'async_trait>(
&'life0 self,
cx: SinkContext,
) -> Pin<Box<dyn Future<Output = Result<(VectorSink, Healthcheck)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Builds the sink with the given context.
If the sink is built successfully, Ok(...)
is returned containing the sink and the sink’s
healthcheck.
§Errors
If an error occurs while building the sink, an error variant explaining the issue is returned.
sourcefn acknowledgements(&self) -> &AcknowledgementsConfig
fn acknowledgements(&self) -> &AcknowledgementsConfig
Gets the acknowledgements configuration for this sink.
Provided Methods§
sourcefn resources(&self) -> Vec<Resource>
fn resources(&self) -> Vec<Resource>
Gets the list of resources, if any, used by this sink.
Resources represent dependencies – network ports, file descriptors, and so on – that cannot be shared between components at runtime. This ensures that components can not be configured in a way that would deadlock the spawning of a topology, and as well, allows Vector to determine the correct order for rebuilding a topology during configuration reload when resources must first be reclaimed before being reassigned, and so on.