Phase 6 step 1
This commit is contained in:
@@ -580,8 +580,7 @@ void RuntimeCoordinator::PublishCoordinatorFollowUpEvents(const std::string& act
|
||||
if (result.persistenceRequested)
|
||||
{
|
||||
RuntimePersistenceRequestedEvent persistenceRequested;
|
||||
persistenceRequested.reason = action;
|
||||
persistenceRequested.debounceAllowed = true;
|
||||
persistenceRequested.request = PersistenceRequest::RuntimeStateRequest(action);
|
||||
mRuntimeEventDispatcher.PublishPayload(persistenceRequested, "RuntimeCoordinator");
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include "PersistenceRequest.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
enum class RuntimeEventSeverity
|
||||
@@ -109,8 +111,7 @@ struct RuntimeStateChangedEvent
|
||||
|
||||
struct RuntimePersistenceRequestedEvent
|
||||
{
|
||||
std::string reason;
|
||||
bool debounceAllowed = true;
|
||||
PersistenceRequest request;
|
||||
};
|
||||
|
||||
struct RuntimeReloadRequestedEvent
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <string>
|
||||
|
||||
enum class PersistenceTargetKind
|
||||
{
|
||||
RuntimeState,
|
||||
StackPreset,
|
||||
RuntimeConfig
|
||||
};
|
||||
|
||||
struct PersistenceRequest
|
||||
{
|
||||
PersistenceTargetKind targetKind = PersistenceTargetKind::RuntimeState;
|
||||
std::string reason;
|
||||
std::string debounceKey = "runtime-state";
|
||||
bool debounceAllowed = true;
|
||||
bool flushRequested = false;
|
||||
uint64_t sequence = 0;
|
||||
|
||||
static PersistenceRequest RuntimeStateRequest(const std::string& reason)
|
||||
{
|
||||
PersistenceRequest request;
|
||||
request.targetKind = PersistenceTargetKind::RuntimeState;
|
||||
request.reason = reason;
|
||||
request.debounceKey = "runtime-state";
|
||||
request.debounceAllowed = true;
|
||||
return request;
|
||||
}
|
||||
};
|
||||
|
||||
struct PersistenceSnapshot
|
||||
{
|
||||
PersistenceTargetKind targetKind = PersistenceTargetKind::RuntimeState;
|
||||
std::filesystem::path targetPath;
|
||||
std::string contents;
|
||||
std::string reason;
|
||||
uint64_t generation = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user