Skip to main content

mountain_mqtt/codec/
write.rs

1use super::mqtt_writer::{MqttWriter, Result};
2
3pub trait Write {
4    fn write<'a, W: MqttWriter<'a>>(&self, writer: &mut W) -> Result<()>;
5}
6
7impl Write for u8 {
8    fn write<'a, W: MqttWriter<'a>>(&self, writer: &mut W) -> Result<()> {
9        writer.put_u8(*self)
10    }
11}
12
13impl Write for u16 {
14    fn write<'a, W: MqttWriter<'a>>(&self, writer: &mut W) -> Result<()> {
15        writer.put_u16(*self)
16    }
17}
18
19impl Write for u32 {
20    fn write<'a, W: MqttWriter<'a>>(&self, writer: &mut W) -> Result<()> {
21        writer.put_u32(*self)
22    }
23}
24
25// impl<'b> Write for &'b str {
26//     fn write<'a, W: MqttWriter<'a>>(&self, writer: &mut W) -> Result<()> {
27//         writer.put_str(self)
28//     }
29// }