1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#[doc(inline)]
pub use bee_message::Message;
#[doc(inline)]
pub use bee_message::MessageId;
use crate::Error;
use bee_message::MESSAGE_ID_LENGTH;
use crate::error::Result;
static NULL: &[u8; MESSAGE_ID_LENGTH] = &[0; MESSAGE_ID_LENGTH];
pub trait MessageIdExt: Sized {
fn is_null(&self) -> bool;
fn encode_hex(&self) -> String;
fn decode_hex(hex: &str) -> Result<Self>;
}
impl MessageIdExt for MessageId {
fn is_null(&self) -> bool {
self.as_ref() == NULL
}
fn encode_hex(&self) -> String {
self.to_string()
}
fn decode_hex(hex: &str) -> Result<Self> {
hex.parse().map_err(Error::InvalidMessage)
}
}