1use super::{Debug, Error};
2use bytes::{BufMut, BytesMut};
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct PingReq;
6
7impl PingReq {
8 pub fn write(payload: &mut BytesMut) -> Result<usize, Error> {
9 payload.put_slice(&[0xC0, 0x00]);
10 Ok(2)
11 }
12}
13
14#[derive(Debug, Clone, PartialEq, Eq)]
15pub struct PingResp;
16
17impl PingResp {
18 pub fn write(payload: &mut BytesMut) -> Result<usize, Error> {
19 payload.put_slice(&[0xD0, 0x00]);
20 Ok(2)
21 }
22}
23
24#[cfg(test)]
25mod test {
26 use super::*;
27 use crate::{test::read_write_packets, Packet};
28
29 #[test]
30 fn test_write_read() {
31 read_write_packets(write_read_provider());
32 }
33
34 fn write_read_provider() -> Vec<Packet> {
35 vec![Packet::PingReq(PingReq {}), Packet::PingResp(PingResp {})]
36 }
37}