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