aboutsummaryrefslogtreecommitdiff
path: root/src/zencompute/actionrecorder.h
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-03-04 14:13:46 +0100
committerGitHub Enterprise <[email protected]>2026-03-04 14:13:46 +0100
commit0763d09a81e5a1d3df11763a7ec75e7860c9510a (patch)
tree074575ba6ea259044a179eab0bb396d37268fb09 /src/zencompute/actionrecorder.h
parentnative xmake toolchain definition for UE-clang (#805) (diff)
downloadzen-0763d09a81e5a1d3df11763a7ec75e7860c9510a.tar.xz
zen-0763d09a81e5a1d3df11763a7ec75e7860c9510a.zip
compute orchestration (#763)
- Added local process runners for Linux/Wine, Mac with some sandboxing support - Horde & Nomad provisioning for development and testing - Client session queues with lifecycle management (active/draining/cancelled), automatic retry with configurable limits, and manual reschedule API - Improved web UI for orchestrator, compute, and hub dashboards with WebSocket push updates - Some security hardening - Improved scalability and `zen exec` command Still experimental - compute support is disabled by default
Diffstat (limited to 'src/zencompute/actionrecorder.h')
-rw-r--r--src/zencompute/actionrecorder.h91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/zencompute/actionrecorder.h b/src/zencompute/actionrecorder.h
deleted file mode 100644
index 9cc2b44a2..000000000
--- a/src/zencompute/actionrecorder.h
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright Epic Games, Inc. All Rights Reserved.
-
-#pragma once
-
-#include <zencompute/functionservice.h>
-#include <zencompute/zencompute.h>
-#include <zencore/basicfile.h>
-#include <zencore/compactbinarybuilder.h>
-#include <zenstore/cidstore.h>
-#include <zenstore/gc.h>
-#include <zenstore/zenstore.h>
-
-#include <filesystem>
-#include <functional>
-#include <map>
-#include <unordered_map>
-
-namespace zen {
-class CbObject;
-class CbPackage;
-struct IoHash;
-} // namespace zen
-
-#if ZEN_WITH_COMPUTE_SERVICES
-
-namespace zen::compute {
-
-//////////////////////////////////////////////////////////////////////////
-
-struct RecordingFileWriter
-{
- RecordingFileWriter(RecordingFileWriter&&) = delete;
- RecordingFileWriter& operator=(RecordingFileWriter&&) = delete;
-
- RwLock m_FileLock;
- BasicFile m_File;
- uint64_t m_FileOffset = 0;
- CbObjectWriter m_TocWriter;
- BasicFile m_TocFile;
-
- RecordingFileWriter();
- ~RecordingFileWriter();
-
- void Open(std::filesystem::path FilePath);
- void Close();
- void AppendObject(const CbObject& Object, const IoHash& ObjectHash);
-};
-
-//////////////////////////////////////////////////////////////////////////
-
-/**
- * Recording "runner" implementation
- *
- * This class writes out all actions and their attachments to a recording directory
- * in a format that can be read back by the RecordingReader.
- *
- * The contents of the recording directory will be self-contained, with all referenced
- * attachments stored in the recording directory itself, so that the recording can be
- * moved or shared without needing to maintain references to the main CID store.
- *
- */
-
-class ActionRecorder
-{
-public:
- ActionRecorder(ChunkResolver& InChunkResolver, const std::filesystem::path& RecordingLogPath);
- ~ActionRecorder();
-
- ActionRecorder(const ActionRecorder&) = delete;
- ActionRecorder& operator=(const ActionRecorder&) = delete;
-
- void Shutdown();
- void RegisterWorker(const CbPackage& WorkerPackage);
- bool RecordAction(Ref<RunnerAction> Action);
-
-private:
- ChunkResolver& m_ChunkResolver;
- std::filesystem::path m_RecordingLogDir;
-
- RecordingFileWriter m_WorkersFile;
- RecordingFileWriter m_ActionsFile;
- GcManager m_Gc;
- CidStore m_CidStore{m_Gc};
- std::atomic<int> m_ChunkCounter{0};
- std::atomic<uint64_t> m_ChunkBytesCounter{0};
- std::atomic<int> m_ActionsCounter{0};
-};
-
-} // namespace zen::compute
-
-#endif // ZEN_WITH_COMPUTE_SERVICES