mls_spec/drafts/mls_extensions/
app_ack.rs

1use crate::defs::{Generation, SenderIndex};
2
3use super::safe_application::Component;
4
5#[derive(
6    Debug,
7    Clone,
8    PartialEq,
9    Eq,
10    tls_codec::TlsSerialize,
11    tls_codec::TlsDeserialize,
12    tls_codec::TlsSize,
13)]
14#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
15pub struct AppAck {
16    pub received_ranges: Vec<MessageRange>,
17}
18
19impl Component for AppAck {
20    fn component_id() -> super::safe_application::ComponentId {
21        super::APP_ACK_ID
22    }
23}
24
25#[derive(
26    Debug,
27    Clone,
28    PartialEq,
29    Eq,
30    tls_codec::TlsSerialize,
31    tls_codec::TlsDeserialize,
32    tls_codec::TlsSize,
33)]
34#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
35pub struct MessageRange {
36    pub sender: SenderIndex,
37    pub first_generation: Generation,
38    pub last_generation: Generation,
39}