reifydb_core/actors/
cdc.rs1use reifydb_runtime::actor::system::ActorHandle;
5use reifydb_value::{Result, value::datetime::DateTime};
6
7use crate::{common::CommitVersion, delta::Delta};
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 },
18}
19
20pub type CdcPollHandle = ActorHandle<CdcPollMessage>;
21
22pub enum CdcPollMessage {
23 Poll,
24
25 CheckWatermark,
26
27 ConsumeResponse {
28 generation: u64,
29 result: Result<()>,
30 },
31
32 ResyncResponse {
33 generation: u64,
34 result: Result<CommitVersion>,
35 },
36
37 Tick,
38
39 Shutdown,
40}