snarkos_node_router_messages/
puzzle_request.rs1use super::*;
17
18use snarkvm::prelude::{FromBytes, ToBytes};
19
20use std::borrow::Cow;
21
22#[derive(Clone, Debug, PartialEq, Eq)]
23pub struct PuzzleRequest;
24
25impl MessageTrait for PuzzleRequest {
26 #[inline]
28 fn name(&self) -> Cow<'static, str> {
29 "PuzzleRequest".into()
30 }
31}
32
33impl ToBytes for PuzzleRequest {
34 fn write_le<W: io::Write>(&self, _writer: W) -> io::Result<()> {
35 Ok(())
36 }
37}
38
39impl FromBytes for PuzzleRequest {
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::PuzzleRequest;
48 use snarkvm::utilities::{FromBytes, ToBytes};
49
50 use bytes::{Buf, BufMut, BytesMut};
51
52 #[test]
53 fn puzzle_request_roundtrip() {
54 let puzzle_request = PuzzleRequest;
55 let mut bytes = BytesMut::default().writer();
56 puzzle_request.write_le(&mut bytes).unwrap();
57 let decoded = PuzzleRequest::read_le(&mut bytes.into_inner().reader()).unwrap();
58 assert_eq!(decoded, puzzle_request);
59 }
60}