#[derive(Debug, Copy, Clone, PartialEq, Eq)]
pub enum Backend {
#[cfg(feature = "backend-kafka")]
Kafka,
#[cfg(feature = "backend-redis")]
Redis,
#[cfg(feature = "backend-stdio")]
Stdio,
#[cfg(feature = "backend-file")]
File,
}
pub trait SeaStreamerBackend {
#[cfg(feature = "backend-kafka")]
type Kafka;
#[cfg(feature = "backend-redis")]
type Redis;
#[cfg(feature = "backend-stdio")]
type Stdio;
#[cfg(feature = "backend-file")]
type File;
fn backend(&self) -> Backend;
#[cfg(feature = "backend-kafka")]
fn get_kafka(&mut self) -> Option<&mut Self::Kafka>;
#[cfg(feature = "backend-redis")]
fn get_redis(&mut self) -> Option<&mut Self::Redis>;
#[cfg(feature = "backend-stdio")]
fn get_stdio(&mut self) -> Option<&mut Self::Stdio>;
#[cfg(feature = "backend-file")]
fn get_file(&mut self) -> Option<&mut Self::File>;
}