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