#[cfg(feature = "kafka")]
mod kafka;
#[cfg(feature = "redis")]
mod redis;
pub mod outbound_bridge;
use bevy::prelude::*;
use bevy_event_bus::config::EventBusConfig;
use bevy_event_bus::errors::BusErrorCallback;
use bevy_event_bus::BusEvent;
#[cfg(feature = "kafka")]
pub use kafka::{KafkaMessageWriter, KafkaWriterError};
#[cfg(feature = "redis")]
pub use redis::{RedisMessageWriter, RedisWriterError};
pub trait BusMessageWriter<T: BusEvent + Message> {
fn write<C: EventBusConfig>(
&mut self,
config: &C,
event: T,
error_callback: Option<BusErrorCallback>,
);
fn write_batch<C, I>(
&mut self,
config: &C,
events: I,
error_callback: Option<BusErrorCallback>,
)
where
C: EventBusConfig,
I: IntoIterator<Item = T>;
}