protosocket_prost/
serializer.rs1use std::marker::PhantomData;
2
3use protosocket::Serialize;
4
5#[derive(Default, Debug)]
7pub struct ProstSerializer<Message> {
8 _phantom: PhantomData<Message>,
9}
10
11impl<Message> Serialize for ProstSerializer<Message>
12where
13 Message: prost::Message + std::fmt::Debug,
14{
15 type Message = Message;
16
17 fn serialize_into_buffer(&mut self, message: Self::Message, buffer: &mut Vec<u8>) {
18 match message.encode_length_delimited(buffer) {
19 Ok(_) => {
20 log::debug!("encoded {message:?}");
21 }
22 Err(e) => {
23 log::error!("encoding error: {e:?}");
24 }
25 }
26 }
27}