feldera_types/
checkpoint.rs1use std::time::Duration;
2
3use serde::{Deserialize, Serialize};
4use utoipa::ToSchema;
5use uuid::Uuid;
6
7#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
9pub struct CheckpointStatus {
10 pub success: Option<u64>,
12
13 pub failure: Option<CheckpointFailure>,
15}
16
17#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
19pub struct CheckpointFailure {
20 pub sequence_number: u64,
22
23 pub error: String,
25}
26
27#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
29pub struct CheckpointResponse {
30 pub checkpoint_sequence_number: u64,
31}
32
33impl CheckpointResponse {
34 pub fn new(checkpoint_sequence_number: u64) -> Self {
35 Self {
36 checkpoint_sequence_number,
37 }
38 }
39}
40
41#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
43pub struct CheckpointSyncResponse {
44 pub checkpoint_uuid: Uuid,
45}
46
47impl CheckpointSyncResponse {
48 pub fn new(checkpoint_uuid: Uuid) -> Self {
49 Self { checkpoint_uuid }
50 }
51}
52
53#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
55pub struct CheckpointSyncStatus {
56 pub success: Option<Uuid>,
58
59 pub failure: Option<CheckpointSyncFailure>,
61
62 pub periodic: Option<Uuid>,
64}
65
66#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
68pub struct CheckpointSyncFailure {
69 pub uuid: Uuid,
71
72 pub error: String,
74}
75
76#[derive(Debug, Clone, Default, Serialize, Deserialize, ToSchema)]
79pub struct CheckpointMetadata {
80 pub uuid: Uuid,
84 pub identifier: Option<String>,
86 pub fingerprint: u64,
88 pub size: Option<u64>,
90 pub steps: Option<u64>,
92 pub processed_records: Option<u64>,
94}
95
96#[derive(Debug, Serialize, Deserialize)]
102pub struct PSpineBatches {
103 pub files: Vec<String>,
104}
105
106#[derive(Debug)]
107pub struct CheckpointSyncMetrics {
108 pub duration: Duration,
109 pub speed: u64,
110 pub bytes: u64,
111}