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::{
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}