feldera_types/
checkpoint.rs

1use serde::{Deserialize, Serialize};
2use utoipa::ToSchema;
3
4/// Checkpoint status returned by the `/checkpoint_status` endpoint.
5#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
6pub struct CheckpointStatus {
7    /// Most recently successful checkpoint.
8    pub success: Option<u64>,
9
10    /// Most recently failed checkpoint, and the associated error.
11    pub failure: Option<(u64, String)>,
12}
13
14/// Response to a checkpoint request.
15#[derive(Clone, Debug, Default, Serialize, Deserialize, ToSchema)]
16pub struct CheckpointResponse {
17    pub checkpoint_sequence_number: u64,
18}
19
20impl CheckpointResponse {
21    pub fn new(checkpoint_sequence_number: u64) -> Self {
22        Self {
23            checkpoint_sequence_number,
24        }
25    }
26}