Skip to main content

uqa_storage/notifications/
registry.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Provider-neutral committed queue and listener records.
8
9#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
10pub struct NotificationQueueState {
11    pub next_sequence: u64,
12    pub head_position: u64,
13}
14
15#[derive(Clone, Debug, PartialEq, Eq)]
16pub struct NotificationQueueEntry {
17    pub sequence: u64,
18    pub process_id: i32,
19    pub channel: String,
20    pub payload: String,
21}
22
23#[derive(Clone, Debug, PartialEq, Eq)]
24pub struct NotificationListenerRow {
25    pub owner_id: [u8; 16],
26    pub session_id: u64,
27    pub process_id: i32,
28    pub wake_port: u16,
29    pub channels: Vec<String>,
30    pub transaction_open: bool,
31    pub next_sequence: u64,
32    pub position: u64,
33}