lilliput_core/decoder/
null.rs1use crate::{error::Result, header::NullHeader, marker::Marker, value::NullValue};
2
3use super::{Decoder, Read};
4
5impl<'r, R> Decoder<R>
6where
7 R: Read<'r>,
8{
9 #[cfg_attr(feature = "tracing", tracing::instrument(skip_all))]
13 pub fn decode_null(&mut self) -> Result<()> {
14 self.decode_null_header()?;
15
16 Ok(())
17 }
18
19 #[cfg_attr(feature = "tracing", tracing::instrument(skip_all))]
21 pub fn decode_null_value(&mut self) -> Result<NullValue> {
22 self.decode_null().map(|_| NullValue)
23 }
24
25 #[cfg_attr(feature = "tracing", tracing::instrument(skip_all))]
29 pub fn decode_null_header(&mut self) -> Result<NullHeader> {
30 #[allow(unused_variables)]
31 let byte = self.pull_byte_expecting(Marker::Null)?;
32
33 #[cfg(feature = "tracing")]
34 tracing::debug!(byte = crate::binary::fmt_byte(byte),);
35
36 Ok(NullHeader)
37 }
38
39 #[cfg_attr(feature = "tracing", tracing::instrument(skip_all))]
43 pub fn skip_null_value_of(&mut self, header: NullHeader) -> Result<()> {
44 let _ = header;
45
46 Ok(())
47 }
48
49 #[cfg_attr(feature = "tracing", tracing::instrument(skip_all))]
53 pub fn decode_null_value_of(&mut self, header: NullHeader) -> Result<NullValue> {
54 let _ = header;
55
56 Ok(NullValue)
57 }
58}