snarkos_node_router_messages/
peer_request.rs1use super::*;
17
18use snarkvm::prelude::{FromBytes, ToBytes};
19
20use std::borrow::Cow;
21
22#[derive(Clone, Debug, PartialEq, Eq)]
23pub struct PeerRequest;
24
25impl MessageTrait for PeerRequest {
26 #[inline]
28 fn name(&self) -> Cow<'static, str> {
29 "PeerRequest".into()
30 }
31}
32
33impl ToBytes for PeerRequest {
34 fn write_le<W: io::Write>(&self, _writer: W) -> io::Result<()> {
35 Ok(())
36 }
37}
38
39impl FromBytes for PeerRequest {
40 fn read_le<R: io::Read>(_reader: R) -> io::Result<Self> {
41 Ok(Self)
42 }
43}
44
45#[cfg(test)]
46pub mod tests {
47 use crate::PeerRequest;
48 use snarkvm::utilities::{FromBytes, ToBytes};
49
50 use bytes::{Buf, BufMut, BytesMut};
51
52 #[test]
53 fn peer_request_roundtrip() {
54 let peer_request = PeerRequest;
55 let mut bytes = BytesMut::default().writer();
56 peer_request.write_le(&mut bytes).unwrap();
57 let decoded = PeerRequest::read_le(&mut bytes.into_inner().reader()).unwrap();
58 assert_eq!(decoded, peer_request);
59 }
60}