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
63#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
65pub struct CheckpointSyncFailure {
66 pub uuid: Uuid,
68
69 pub error: String,
71}
72
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
76pub struct CheckpointMetadata {
77 pub uuid: Uuid,
81 pub identifier: Option<String>,
83 pub fingerprint: u64,
85 pub size: Option<u64>,
87 pub steps: Option<u64>,
89 pub processed_records: Option<u64>,
91}
92
93#[derive(Debug, Serialize, Deserialize)]
99pub struct PSpineBatches {
100 pub files: Vec<String>,
101}
102
103#[derive(Debug)]
104pub struct CheckpointSyncMetrics {
105 pub duration: Duration,
106 pub speed: u64,
107 pub bytes: u64,
108}