pub struct CorrelationSnapshot {
pub version: u32,
pub windows: HashMap<String, Vec<(GroupKey, WindowState)>>,
pub last_alert: HashMap<String, Vec<(GroupKey, i64)>>,
pub event_buffers: HashMap<String, Vec<(GroupKey, EventBuffer)>>,
pub event_ref_buffers: HashMap<String, Vec<(GroupKey, EventRefBuffer)>>,
}Expand description
Serializable snapshot of all mutable correlation state.
Uses stable string identifiers (correlation id/name/title) as keys so the
snapshot can be restored after a rule reload, even if internal indices change.
Inner maps use Vec<(GroupKey, T)> instead of HashMap<GroupKey, T> because
GroupKey cannot be used as a JSON object key.
Fields§
§version: u32Schema version — used to detect incompatible snapshots on load.
windows: HashMap<String, Vec<(GroupKey, WindowState)>>Per-correlation, per-group window state.
last_alert: HashMap<String, Vec<(GroupKey, i64)>>Per-correlation, per-group last alert timestamp (for suppression).
event_buffers: HashMap<String, Vec<(GroupKey, EventBuffer)>>Per-correlation, per-group compressed event buffers.
event_ref_buffers: HashMap<String, Vec<(GroupKey, EventRefBuffer)>>Per-correlation, per-group event reference buffers.
Trait Implementations§
Source§impl Clone for CorrelationSnapshot
impl Clone for CorrelationSnapshot
Source§fn clone(&self) -> CorrelationSnapshot
fn clone(&self) -> CorrelationSnapshot
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CorrelationSnapshot
impl Debug for CorrelationSnapshot
Source§impl<'de> Deserialize<'de> for CorrelationSnapshot
impl<'de> Deserialize<'de> for CorrelationSnapshot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CorrelationSnapshot
impl RefUnwindSafe for CorrelationSnapshot
impl Send for CorrelationSnapshot
impl Sync for CorrelationSnapshot
impl Unpin for CorrelationSnapshot
impl UnsafeUnpin for CorrelationSnapshot
impl UnwindSafe for CorrelationSnapshot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more