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}
20
21pub type CdcPollHandle = ActorHandle<CdcPollMessage>;
22
23pub enum CdcPollMessage {
24 Poll,
25
26 CheckWatermark,
27
28 ConsumeResponse {
29 generation: u64,
30 result: Result<()>,
31 },
32
33 ResyncResponse {
34 generation: u64,
35 result: Result<CommitVersion>,
36 },
37
38 Tick,
39
40 Shutdown,
41}