sequoia_openpgp/packet/
marker.rs1#[cfg(test)]
2use quickcheck::{Arbitrary, Gen};
3
4use crate::packet;
5use crate::Packet;
6
7#[derive(Default, Clone, Debug, PartialEq, Eq, Hash)]
15pub struct Marker {
16 pub(crate) common: packet::Common,
18}
19assert_send_and_sync!(Marker);
20
21impl Marker {
22 pub(crate) const BODY: &'static [u8] = &[0x50, 0x47, 0x50];
23}
24
25impl From<Marker> for Packet {
26 fn from(p: Marker) -> Self {
27 Packet::Marker(p)
28 }
29}
30
31#[cfg(test)]
32impl Arbitrary for Marker {
33 fn arbitrary(_: &mut Gen) -> Self {
34 Self::default()
35 }
36}
37
38#[cfg(test)]
39mod tests {
40 use super::*;
41 use crate::parse::Parse;
42 use crate::serialize::MarshalInto;
43
44 #[test]
45 fn roundtrip() {
46 let p = Marker::default();
47 let q = Marker::from_bytes(&p.to_vec().unwrap()).unwrap();
48 assert_eq!(p, q);
49 }
50}