rtc_datachannel/message/
message_channel_ack.rs1use super::*;
2use shared::error::Result;
3
4#[derive(Eq, PartialEq, Clone, Debug)]
16pub struct DataChannelAck;
17
18impl MarshalSize for DataChannelAck {
19 fn marshal_size(&self) -> usize {
20 0
21 }
22}
23
24impl Marshal for DataChannelAck {
25 fn marshal_to(&self, _buf: &mut [u8]) -> Result<usize> {
26 Ok(0)
27 }
28}
29
30impl Unmarshal for DataChannelAck {
31 fn unmarshal<B>(_buf: &mut B) -> Result<Self>
32 where
33 Self: Sized,
34 B: Buf,
35 {
36 Ok(Self)
37 }
38}
39
40#[cfg(test)]
41mod tests {
42 use bytes::{Bytes, BytesMut};
43
44 use super::*;
45
46 #[test]
47 fn test_channel_ack_unmarshal() -> Result<()> {
48 let mut bytes = Bytes::from_static(&[]);
49
50 let channel_ack = DataChannelAck::unmarshal(&mut bytes)?;
51
52 assert_eq!(channel_ack, DataChannelAck);
53 Ok(())
54 }
55
56 #[test]
57 fn test_channel_ack_marshal_size() -> Result<()> {
58 let channel_ack = DataChannelAck;
59 let marshal_size = channel_ack.marshal_size();
60
61 assert_eq!(marshal_size, 0);
62 Ok(())
63 }
64
65 #[test]
66 fn test_channel_ack_marshal() -> Result<()> {
67 let channel_ack = DataChannelAck;
68 let mut buf = BytesMut::with_capacity(0);
69 let bytes_written = channel_ack.marshal_to(&mut buf)?;
70 let bytes = buf.freeze();
71
72 assert_eq!(bytes_written, channel_ack.marshal_size());
73 assert_eq!(&bytes[..], &[]);
74 Ok(())
75 }
76}