Skip to main content

reifydb_core/actors/
cdc.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use 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}