Skip to main content

SinkDefProvider

Trait SinkDefProvider 

Source
pub trait SinkDefProvider:
    Send
    + Sync
    + 'static {
    // Required method
    fn sink_def(&self) -> ConnectorDef;

    // Provided methods
    fn sink_defs(&self) -> Vec<ConnectorDef> { ... }
    fn validate_sink(&self, _def: &ConnectorDef) -> Result<(), String> { ... }
}
Expand description

Trait for connectors that can act as a data sink.

Implement this trait to provide sink connector metadata and validation. Used by [SinkFactory] to obtain connector definitions.

§Example

impl SinkDefProvider for MyConnector {
    fn sink_def(&self) -> ConnectorDef {
        ConnectorDef {
            id: "my-sink".into(),
            kind: "custom".into(),
            scope: ConnectorScope::Sink,
            allow_override: vec![],
            default_params: Default::default(),
            origin: None,
        }
    }
}

Required Methods§

Source

fn sink_def(&self) -> ConnectorDef

Returns the connector definition for sink mode.

Provided Methods§

Source

fn sink_defs(&self) -> Vec<ConnectorDef>

Source

fn validate_sink(&self, _def: &ConnectorDef) -> Result<(), String>

Validates a sink connector definition.

Override to add custom validation logic. Returns Ok(()) by default.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§