/// Error from std::io
Io(/// (C-not exported) as ErrorKind doesn't have a reasonable mapping
::std::io::ErrorKind),
+ /// The message included zlib-compressed values, which we don't support.
+ UnsupportedCompression,
}
/// An init message to be sent or received from a peer
},
}
impl NetAddress {
+ /// Gets the ID of this address type. Addresses in node_announcement messages should be sorted
+ /// by this.
+ pub(crate) fn get_id(&self) -> u8 {
+ match self {
+ &NetAddress::IPv4 {..} => { 1 },
+ &NetAddress::IPv6 {..} => { 2 },
+ &NetAddress::OnionV2 {..} => { 3 },
+ &NetAddress::OnionV3 {..} => { 4 },
+ }
+ }
+
/// Strict byte-length of address descriptor, 1-byte type not recorded
fn len(&self) -> u16 {
match self {
DecodeError::ShortRead => f.write_str("Packet extended beyond the provided bytes"),
DecodeError::BadLengthDescriptor => f.write_str("A length descriptor in the packet didn't describe the later data correctly"),
DecodeError::Io(ref e) => e.fmt(f),
+ DecodeError::UnsupportedCompression => f.write_str("We don't support receiving messages with zlib-compressed fields"),
}
}
}