moq_lite/message/session.rs
1use crate::coding::*;
2
3#[derive(Clone, Debug)]
4pub struct SessionInfo {
5 pub bitrate: Option<u64>,
6}
7
8impl Message for SessionInfo {
9 fn decode<R: bytes::Buf>(r: &mut R) -> Result<Self, DecodeError> {
10 let bitrate = match u64::decode(r)? {
11 0 => None,
12 bitrate => Some(bitrate),
13 };
14
15 Ok(Self { bitrate })
16 }
17
18 fn encode<W: bytes::BufMut>(&self, w: &mut W) {
19 self.bitrate.unwrap_or(0).encode(w);
20 }
21}