moq_transfork/message/
info.rs1use 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}