moq_transport/message/
publish_namespace_error.rs1use crate::coding::{Decode, DecodeError, Encode, EncodeError, ReasonPhrase};
2
3#[derive(Clone, Debug)]
9pub struct PublishNamespaceError {
10 pub id: u64,
11
12 pub error_code: u64,
14
15 pub reason_phrase: ReasonPhrase,
17}
18
19impl Decode for PublishNamespaceError {
20 fn decode<R: bytes::Buf>(r: &mut R) -> Result<Self, DecodeError> {
21 let id = u64::decode(r)?;
22 let error_code = u64::decode(r)?;
23 let reason_phrase = ReasonPhrase::decode(r)?;
24
25 Ok(Self {
26 id,
27 error_code,
28 reason_phrase,
29 })
30 }
31}
32
33impl Encode for PublishNamespaceError {
34 fn encode<W: bytes::BufMut>(&self, w: &mut W) -> Result<(), EncodeError> {
35 self.id.encode(w)?;
36 self.error_code.encode(w)?;
37 self.reason_phrase.encode(w)?;
38
39 Ok(())
40 }
41}