mod mmap_serde;
use std::fmt::Debug;
pub use mmap_serde::*;
mod variable_binary_serde;
pub use variable_binary_serde::*;
mod textual_serde;
pub use textual_serde::*;
pub trait ReactiveMessagingConfig<LocalMessages> {
#[inline(always)]
fn processor_error_message(_err: String) -> Option<LocalMessages> {
None
}
#[inline(always)]
fn input_error_message(_err: String) -> Option<LocalMessages> {
None
}
}
pub trait ReactiveMessagingSerializer<LocalMessages>: Send + Sync + 'static {
fn serialize(local_message: &LocalMessages, buffer: &mut Vec<u8>);
}
pub trait ReactiveMessagingDeserializer<RemoteMessages>: Send + Sync + 'static {
type DeserializedRemoteMessages: Send + Sync + PartialEq + Debug + 'static;
fn validate(remote_message: &[u8]) -> Result<(), crate::prelude::Error>;
fn deserialize(remote_message: &[u8]) -> Result<Self::DeserializedRemoteMessages, crate::prelude::Error>;
fn deserialize_as_ref(remote_message: &[u8]) -> Result<&Self::DeserializedRemoteMessages, crate::prelude::Error>;
}