sheave_core/messages/
on_fc_publish.rsuse std::io::Result as IOResult;
use super::{
Channel,
ChunkData,
Command,
headers::MessageType
};
use crate::{
Decoder,
Encoder,
ByteBuffer,
};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct OnFcPublish;
impl ChunkData for OnFcPublish {
const CHANNEL: Channel = Channel::System;
const MESSAGE_TYPE: MessageType = MessageType::Command;
}
impl Command for OnFcPublish {}
impl Decoder<OnFcPublish> for ByteBuffer {
fn decode(&mut self) -> IOResult<OnFcPublish> {
Ok(OnFcPublish)
}
}
impl Encoder<OnFcPublish> for ByteBuffer {
fn encode(&mut self, _: &OnFcPublish) {
return
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn decode_on_fc_publish() {
let mut buffer = ByteBuffer::default();
let result: IOResult<OnFcPublish> = buffer.decode();
assert!(result.is_ok());
let actual = result.unwrap();
assert_eq!(OnFcPublish, actual)
}
#[test]
fn encode_on_fc_publish() {
let mut buffer = ByteBuffer::default();
buffer.encode(&OnFcPublish);
}
}