moq_transfork/message/
info.rs

1use super::GroupOrder;
2use crate::coding::*;
3
4#[derive(Clone, Debug)]
5pub struct Info {
6	pub track_priority: i8,
7	pub group_order: GroupOrder,
8	pub group_latest: u64,
9}
10
11impl Encode for Info {
12	fn encode<W: bytes::BufMut>(&self, w: &mut W) {
13		self.track_priority.encode(w);
14		self.group_order.encode(w);
15		self.group_latest.encode(w);
16	}
17}
18
19impl Decode for Info {
20	fn decode<R: bytes::Buf>(r: &mut R) -> Result<Self, DecodeError> {
21		let track_priority = i8::decode(r)?;
22		let group_order = GroupOrder::decode(r)?;
23		let group_latest = u64::decode(r)?;
24
25		Ok(Self {
26			track_priority,
27			group_order,
28			group_latest,
29		})
30	}
31}
32
33#[derive(Clone, Debug)]
34pub struct InfoRequest {
35	pub path: String,
36}
37
38impl Encode for InfoRequest {
39	fn encode<W: bytes::BufMut>(&self, w: &mut W) {
40		self.path.encode(w);
41	}
42}
43
44impl Decode for InfoRequest {
45	fn decode<R: bytes::Buf>(r: &mut R) -> Result<Self, DecodeError> {
46		let path = String::decode(r)?;
47		Ok(Self { path })
48	}
49}