Skip to main content

flwrs_plugin/sink/
plugin.rs

1use crate::plugin::error::{InitializeError, ShutdownError, SinkError};
2use crate::schema::common::{log_level::Enum as LogLevel};
3use crate::schema::sink::SinkEvent;
4use crate::plugin::core::InitializeRequest;
5
6pub trait Sink {
7    fn initialize(
8        &mut self,
9        plugin_id: String,
10        log_level: LogLevel,
11    ) -> Result<InitializeRequest, InitializeError>;
12
13    fn shutdown(&mut self) -> Result<(), ShutdownError>;
14    
15    fn version(&self) -> String;
16
17    fn consume_event(&mut self, event: SinkEvent) -> Result<(), SinkError>;
18}
19