moq_transfork/message/
session.rs

1use 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}