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}