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§
Sourcefn sink_def(&self) -> ConnectorDef
fn sink_def(&self) -> ConnectorDef
Returns the connector definition for sink mode.
Provided Methods§
fn sink_defs(&self) -> Vec<ConnectorDef>
Sourcefn validate_sink(&self, _def: &ConnectorDef) -> Result<(), String>
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".