use super::{Debug, Error};
use bytes::{BufMut, BytesMut};
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PingReq;
impl PingReq {
pub fn write(payload: &mut BytesMut) -> Result<usize, Error> {
payload.put_slice(&[0xC0, 0x00]);
Ok(2)
}
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PingResp;
impl PingResp {
pub fn write(payload: &mut BytesMut) -> Result<usize, Error> {
payload.put_slice(&[0xD0, 0x00]);
Ok(2)
}
}
#[cfg(test)]
mod test {
use super::*;
use crate::{test::read_write_packets, Packet};
#[test]
fn test_write_read() {
read_write_packets(write_read_provider());
}
fn write_read_provider() -> Vec<Packet> {
vec![Packet::PingReq(PingReq {}), Packet::PingResp(PingResp {})]
}
}