rustls/msgs/
alert.rs

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}