/rust/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.37/src/msgs/alert.rs
Line | Count | Source |
1 | | use alloc::vec::Vec; |
2 | | |
3 | | use crate::enums::AlertDescription; |
4 | | use crate::error::InvalidMessage; |
5 | | use crate::msgs::codec::{Codec, Reader}; |
6 | | use crate::msgs::enums::AlertLevel; |
7 | | |
8 | | #[derive(Debug)] |
9 | | pub struct AlertMessagePayload { |
10 | | pub level: AlertLevel, |
11 | | pub description: AlertDescription, |
12 | | } |
13 | | |
14 | | impl Codec<'_> for AlertMessagePayload { |
15 | 0 | fn encode(&self, bytes: &mut Vec<u8>) { |
16 | 0 | self.level.encode(bytes); |
17 | 0 | self.description.encode(bytes); |
18 | 0 | } |
19 | | |
20 | 0 | fn read(r: &mut Reader<'_>) -> Result<Self, InvalidMessage> { |
21 | 0 | let level = AlertLevel::read(r)?; |
22 | 0 | let description = AlertDescription::read(r)?; |
23 | 0 | r.expect_empty("AlertMessagePayload") |
24 | 0 | .map(|_| Self { level, description }) |
25 | 0 | } |
26 | | } |