reifydb_core/actors/
cdc.rs1use reifydb_runtime::actor::system::ActorHandle;
5use reifydb_value::{Result, value::datetime::DateTime};
6
7use crate::{common::CommitVersion, delta::Delta, interface::change::Change};
8
9pub type CdcProduceHandle = ActorHandle<CdcProduceMessage>;
10
11#[derive(Clone, Debug)]
12pub enum CdcProduceMessage {
13 Produce {
14 version: CommitVersion,
15 changed_at: DateTime,
16 deltas: Vec<Delta>,
17 flow_changes: Vec<Change>,
18 },
19 Tick,
20}
21
22pub type CdcPollHandle = ActorHandle<CdcPollMessage>;
23
24pub enum CdcPollMessage {
25 Poll,
26
27 CheckWatermark,
28
29 ConsumeResponse {
30 generation: u64,
31 result: Result<()>,
32 },
33
34 CheckConsume {
35 generation: u64,
36 },
37
38 Shutdown,
39}