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