pub trait Sink: TryFrom<SinkParam, Error = SinkError> {
type LogSinker: LogSinker;
type Coordinator: SinkCommitCoordinator;
const SINK_NAME: &'static str;
// Required methods
async fn validate(&self) -> Result<()>;
async fn new_log_sinker(
&self,
writer_param: SinkWriterParam,
) -> Result<Self::LogSinker>;
// Provided methods
fn set_default_commit_checkpoint_interval(
desc: &mut SinkDesc,
user_specified: &SinkDecouple,
) -> Result<()> { ... }
fn is_sink_decouple(user_specified: &SinkDecouple) -> Result<bool> { ... }
async fn new_coordinator(&self) -> Result<Self::Coordinator> { ... }
}
Required Associated Constants§
Required Associated Types§
Required Methods§
async fn validate(&self) -> Result<()>
async fn new_log_sinker( &self, writer_param: SinkWriterParam, ) -> Result<Self::LogSinker>
Provided Methods§
fn set_default_commit_checkpoint_interval( desc: &mut SinkDesc, user_specified: &SinkDecouple, ) -> Result<()>
sourcefn is_sink_decouple(user_specified: &SinkDecouple) -> Result<bool>
fn is_sink_decouple(user_specified: &SinkDecouple) -> Result<bool>
user_specified
is the value of sink_decouple
config.
async fn new_coordinator(&self) -> Result<Self::Coordinator>
Object Safety§
This trait is not object safe.