moq_transfork/message/
session.rs1use crate::coding::*;
2
3#[derive(Clone, Debug)]
4pub struct SessionInfo {
5 pub bitrate: Option<u64>,
6}
7
8impl Decode 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
19impl Encode for SessionInfo {
20 fn encode<W: bytes::BufMut>(&self, w: &mut W) {
21 self.bitrate.unwrap_or(0).encode(w);
22 }
23}