33#include "utilities/serialization/record_backend.hpp"
35#include <nonstd/expected.hpp>
36#include <protocol.hpp>
41using nonstd::expected;
107 -> expected<void, ProtocolError>
override;
109 -> expected<void, ProtocolError>
override;
125 -> expected<void, ProtocolError>
override;
Definition protocol.hpp:110
Definition deserialization.hpp:61
auto run(const ModelPtr &model, const Context &ctx) const -> expected< void, ProtocolError > override
Run the BMI protocol against the given model.
Definition deserialization.cpp:69
bool by_timestamp
Definition deserialization.hpp:134
bool is_fatal
Definition deserialization.hpp:153
auto initialize(const ModelPtr &model, const Properties &properties) -> expected< void, ProtocolError > override
Parse top-level path and the restore sub-block.
Definition deserialization.cpp:194
bool supported
Definition deserialization.hpp:151
std::shared_ptr<::ngen::serialization::RecordBackend > backend_
Definition deserialization.hpp:157
int target_step
Definition deserialization.hpp:137
NgenDeserializationProtocol()
Definition deserialization.cpp:62
bool check
Definition deserialization.hpp:152
nsel_NODISCARD auto check_support(const ModelPtr &model) -> expected< void, ProtocolError > override
Check if the BMI protocol is supported by the model.
Definition deserialization.cpp:144
virtual ~NgenDeserializationProtocol() override
bool step_latest
Definition deserialization.hpp:136
bool is_supported() const override final
Whether the protocol is supported by the model.
Definition deserialization.cpp:348
::ngen::serialization::IdPredicate id_scope
Definition deserialization.hpp:150
int64_t target_simulation_timestamp
Definition deserialization.hpp:135
Definition deserialization.hpp:40
constexpr const char *const DESERIALIZATION_RESTORE_KEY
Restore-side sub-block key under the top-level serialization block.
Definition deserialization.hpp:44
std::shared_ptr< models::bmi::Bmi_Adapter > ModelPtr
Definition protocol.hpp:107
constexpr const char *const DESERIALIZATION_STEP_LATEST
Sentinel value for step meaning "latest step present for this id".
Definition deserialization.hpp:48
constexpr const char *const DESERIALIZATION_STEP_KEY
Restore-side "which step to load" key.
Definition deserialization.hpp:46
geojson::PropertyMap Properties
Definition protocol.hpp:108
constexpr const char *const DESERIALIZATION_ID_SUBSET_KEY
Optional restore-side list of ids to index.
Definition deserialization.hpp:59
constexpr const char *const DESERIALIZATION_TIMESTAMP_KEY
Restore-side "match by simulation timestamp" key.
Definition deserialization.hpp:54
Definition AbstractCLibBmiAdapter.hpp:6
Definition DomainLayer.hpp:13
Definition protocol.hpp:100