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