flwrs-plugin 0.0.1

Crate for building plugins for flwrs.
Documentation
use crate::plugin::error::{InitializeError, ShutdownError, SinkError};
use crate::schema::common::{log_level::Enum as LogLevel};
use crate::schema::sink::SinkEvent;
use crate::plugin::core::InitializeRequest;

pub trait Sink {
    fn initialize(
        &mut self,
        plugin_id: String,
        log_level: LogLevel,
    ) -> Result<InitializeRequest, InitializeError>;

    fn shutdown(&mut self) -> Result<(), ShutdownError>;
    
    fn version(&self) -> String;

    fn consume_event(&mut self, event: SinkEvent) -> Result<(), SinkError>;
}