OpenSWMM Engine  6.0.0-alpha.4
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
CheckpointInspection.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 Caleb Buahin
3
12
13#pragma once
14#include <cstdint>
15#include <optional>
16#include <string>
17#include <string_view>
18#include <vector>
19
20namespace openswmm {
25 struct Reports {
26 bool enabled = false;
27 uint64_t records = 0;
28 double cadence_seconds = 0;
29 std::optional<double> first_date, last_date;
38 bool operator==(const Reports& other) const = default;
39 };
40 struct Driver {
41 std::string identity;
42 uint64_t next_sequence = 0;
43 double next_update_seconds = -1; // -1 means exhausted; equality means due now.
52 bool operator==(const Driver& other) const = default;
53 };
54 struct Companion {
55 enum class Role { Source, Binary, Mesh };
57 std::string path;
58 uint64_t required_bytes = 0; // source prefix, or complete immutable output file
67 bool operator==(const Companion& other) const = default;
68 };
69 uint32_t schema_version = 1;
72 uint64_t checkpoint_bytes = 0;
73 std::optional<double> completed_source_seconds;
74 std::optional<Driver> driver;
76 bool file_outputs = false, relocatable_bundle = false, detailed_sources = false;
78 std::vector<Companion> companions;
88 std::string json() const;
97 bool operator==(const CheckpointInspection& other) const = default;
98};
99namespace detail {
110bool checkpointUtf8(std::string_view text) noexcept;
111}
112}
Definition OutfallExchange.hpp:17
bool checkpointUtf8(std::string_view text) noexcept
Validate a complete byte sequence as UTF-8 scalar encodings.
Definition CheckpointInspection.cpp:21
Definition ExchangeLaw.hpp:60
Definition CheckpointInspection.hpp:54
std::string path
Definition CheckpointInspection.hpp:57
Role role
Definition CheckpointInspection.hpp:56
bool operator==(const Companion &other) const =default
Compare all Companion fields using default member equality.
uint64_t required_bytes
Definition CheckpointInspection.hpp:58
Role
Definition CheckpointInspection.hpp:55
@ Binary
Definition CheckpointInspection.hpp:55
@ Mesh
Definition CheckpointInspection.hpp:55
@ Source
Definition CheckpointInspection.hpp:55
Definition CheckpointInspection.hpp:40
bool operator==(const Driver &other) const =default
Compare all Driver fields using default member equality.
double next_update_seconds
Definition CheckpointInspection.hpp:43
uint64_t next_sequence
Definition CheckpointInspection.hpp:42
std::string identity
Definition CheckpointInspection.hpp:41
Definition CheckpointInspection.hpp:25
bool enabled
Definition CheckpointInspection.hpp:26
double cadence_seconds
Definition CheckpointInspection.hpp:28
std::optional< double > first_date
Definition CheckpointInspection.hpp:29
std::optional< double > last_date
Definition CheckpointInspection.hpp:29
bool operator==(const Reports &other) const =default
Compare all Reports fields using default member equality.
uint64_t records
Definition CheckpointInspection.hpp:27
Definition CheckpointInspection.hpp:24
uint64_t checkpoint_bytes
Definition CheckpointInspection.hpp:72
bool relocatable_bundle
Definition CheckpointInspection.hpp:76
bool detailed_sources
Definition CheckpointInspection.hpp:76
std::optional< double > completed_source_seconds
Definition CheckpointInspection.hpp:73
double engine_date
Definition CheckpointInspection.hpp:70
double next_report_seconds
Definition CheckpointInspection.hpp:71
uint64_t source_frames
Definition CheckpointInspection.hpp:77
double engine_seconds
Definition CheckpointInspection.hpp:70
uint64_t source_prefix_bytes
Definition CheckpointInspection.hpp:77
Reports mesh
Definition CheckpointInspection.hpp:75
std::optional< Driver > driver
Definition CheckpointInspection.hpp:74
double start_date
Definition CheckpointInspection.hpp:70
bool file_outputs
Definition CheckpointInspection.hpp:76
double report_start_date
Definition CheckpointInspection.hpp:70
bool operator==(const CheckpointInspection &other) const =default
Compare all CheckpointInspection fields using default member equality.
std::vector< Companion > companions
Definition CheckpointInspection.hpp:78
uint32_t schema_version
Definition CheckpointInspection.hpp:69
std::string json() const
Serialize exact checkpoint inspection metadata as compact schema-one JSON.
Definition CheckpointInspection.cpp:174
Reports binary
Definition CheckpointInspection.hpp:75