feldera_types/
checkpoint.rs1use serde::{Deserialize, Serialize};
2use utoipa::ToSchema;
3use uuid::Uuid;
4
5#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
7pub struct CheckpointStatus {
8 pub success: Option<u64>,
10
11 pub failure: Option<CheckpointFailure>,
13}
14
15#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
17pub struct CheckpointFailure {
18 pub sequence_number: u64,
20
21 pub error: String,
23}
24
25#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
27pub struct CheckpointResponse {
28 pub checkpoint_sequence_number: u64,
29}
30
31impl CheckpointResponse {
32 pub fn new(checkpoint_sequence_number: u64) -> Self {
33 Self {
34 checkpoint_sequence_number,
35 }
36 }
37}
38
39#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
41pub struct CheckpointSyncResponse {
42 pub checkpoint_uuid: Uuid,
43}
44
45impl CheckpointSyncResponse {
46 pub fn new(checkpoint_uuid: Uuid) -> Self {
47 Self { checkpoint_uuid }
48 }
49}
50
51#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
53pub struct CheckpointSyncStatus {
54 pub success: Option<Uuid>,
56
57 pub failure: Option<CheckpointSyncFailure>,
59}
60
61#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
63pub struct CheckpointSyncFailure {
64 pub uuid: Uuid,
66
67 pub error: String,
69}
70
71#[derive(Debug, Clone, Default, Serialize, Deserialize)]
74pub struct CheckpointMetadata {
75 pub uuid: Uuid,
79 pub identifier: Option<String>,
81 pub fingerprint: u64,
83}
84
85impl CheckpointMetadata {
86 pub fn new(uuid: Uuid, identifier: Option<String>, fingerprint: u64) -> Self {
87 CheckpointMetadata {
88 uuid,
89 identifier,
90 fingerprint,
91 }
92 }
93}
94
95#[derive(Debug, Serialize, Deserialize)]
101pub struct PSpineBatches {
102 pub files: Vec<String>,
103}