mls_spec/drafts/mls_extensions/
app_ack.rs1use 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}