zero_trust_rps/common/connection/writer.rs
1use serde::Serialize;
2
3#[derive(thiserror::Error, Debug)]
4pub enum WriteMessageError {
5 #[error("Serializing failed: {}", .0)]
6 Serialize(#[from] postcard::Error),
7 #[error("Writing failed: {}", .0)]
8 Writing(#[from] quinn::WriteError),
9}
10
11pub trait Writer: Send {
12 fn write_message<T: Serialize + Send>(
13 &mut self,
14 value: T,
15 ) -> impl std::future::Future<Output = Result<(), WriteMessageError>> + Send;
16}