moq_proto/message/
info.rs

1use super::GroupOrder;
2use crate::coding::*;
3
4#[derive(Clone, Debug)]
5pub struct Info {
6	pub priority: i8,
7	pub order: GroupOrder,
8	pub latest: u64,
9}
10
11impl Encode for Info {
12	fn encode<W: bytes::BufMut>(&self, w: &mut W) {
13		self.priority.encode(w);
14		self.order.encode(w);
15		self.latest.encode(w);
16	}
17}
18
19impl Decode for Info {
20	fn decode<R: bytes::Buf>(r: &mut R) -> Result<Self, DecodeError> {
21		let priority = i8::decode(r)?;
22		let order = GroupOrder::decode(r)?;
23		let latest = u64::decode(r)?;
24
25		Ok(Self {
26			priority,
27			order,
28			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}