sheave_core/messages/
on_fc_publish.rs1use std::io::Result as IOResult;
2use super::{
3 Channel,
4 ChunkData,
5 Command,
6 headers::MessageType
7};
8use crate::{
9 Decoder,
10 Encoder,
11 ByteBuffer,
12};
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq)]
16pub struct OnFcPublish;
17
18impl ChunkData for OnFcPublish {
19 const CHANNEL: Channel = Channel::System;
20 const MESSAGE_TYPE: MessageType = MessageType::Command;
21}
22
23impl Command for OnFcPublish {}
24
25impl Decoder<OnFcPublish> for ByteBuffer {
26 fn decode(&mut self) -> IOResult<OnFcPublish> {
28 Ok(OnFcPublish)
29 }
30}
31
32impl Encoder<OnFcPublish> for ByteBuffer {
33 fn encode(&mut self, _: &OnFcPublish) {
36 return
37 }
38}
39
40#[cfg(test)]
41mod tests {
42 use super::*;
43
44 #[test]
45 fn decode_on_fc_publish() {
46 let mut buffer = ByteBuffer::default();
47 let result: IOResult<OnFcPublish> = buffer.decode();
48 assert!(result.is_ok());
49 let actual = result.unwrap();
50 assert_eq!(OnFcPublish, actual)
51 }
52
53 #[test]
54 fn encode_on_fc_publish() {
55 let mut buffer = ByteBuffer::default();
56 buffer.encode(&OnFcPublish);
57 }
58}