1use crate::msgs::codec::{Codec, Reader};
2use crate::msgs::enums::{AlertDescription, AlertLevel};
3
4#[derive(Debug)]
5pub struct AlertMessagePayload {
6 pub level: AlertLevel,
7 pub description: AlertDescription,
8}
9
10impl Codec for AlertMessagePayload {
11 fn encode(&self, bytes: &mut Vec<u8>) {
12 self.level.encode(bytes);
13 self.description.encode(bytes);
14 }
15
16 fn read(r: &mut Reader) -> Option<AlertMessagePayload> {
17 let level = AlertLevel::read(r)?;
18 let description = AlertDescription::read(r)?;
19
20 Some(AlertMessagePayload { level, description })
21 }
22}
23
24impl AlertMessagePayload {
25 pub fn length(&self) -> usize {
26 1 + 1
27 }
28}