1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use super::PagedWriter;
use crate::{error::Error, ArcBytes};
pub trait BinarySerialization: Send + Sync + Sized {
fn serialize_to(
&mut self,
writer: &mut Vec<u8>,
paged_writer: &mut PagedWriter<'_>,
) -> Result<usize, Error>;
fn deserialize_from(
reader: &mut ArcBytes<'_>,
current_order: Option<usize>,
) -> Result<Self, Error>;
}
impl BinarySerialization for () {
fn serialize_to(
&mut self,
_writer: &mut Vec<u8>,
_paged_writer: &mut PagedWriter<'_>,
) -> Result<usize, Error> {
Ok(0)
}
fn deserialize_from(
_reader: &mut ArcBytes<'_>,
_current_order: Option<usize>,
) -> Result<Self, Error> {
Ok(())
}
}