#[non_exhaustive]pub enum KmRefreshEvent {
PreAnnounce {
next_parity: KeyParity,
},
Switchover {
new_active: KeyParity,
},
Decommission {
retired: KeyParity,
},
}crypto only.Expand description
One state transition KmRefreshDriver::on_packet_sent /
KmRefreshDriver::tick can fire (draft-sharabayko-srt-01 §6.1.6).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
PreAnnounce
refresh_period - pre_announcement_period packets sent under the
active key: generate, wrap, and send a fresh SEK for next_parity
now (§6.1.5’s Key Material exchange, driven out-of-band of this
driver — see the module doc).
Switchover
refresh_period packets sent under the active key: start encrypting
new outgoing packets with new_active from now on. The previous
key remains valid for decrypting late/retransmitted packets until
KmRefreshEvent::Decommission fires for it.
Decommission
pre_announcement_period packets after switchover: the previous key
may be dropped — no more retransmits will need it (§6.1.6, “both keys
valid in parallel for 2 * Pre-Announcement Period”).
Trait Implementations§
Source§impl Clone for KmRefreshEvent
impl Clone for KmRefreshEvent
Source§fn clone(&self) -> KmRefreshEvent
fn clone(&self) -> KmRefreshEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more