From e8a27bb203fe2aff70390a5eca002d7438da9b0f Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 22 十月 2025 14:24:34 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/DAQBridge/buffer/BufferRegistry.h | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/DAQBridge/buffer/BufferRegistry.h b/SourceCode/Bond/DAQBridge/buffer/BufferRegistry.h
new file mode 100644
index 0000000..2cc44d0
--- /dev/null
+++ b/SourceCode/Bond/DAQBridge/buffer/BufferRegistry.h
@@ -0,0 +1,24 @@
+// BufferRegistry.h
+#pragma once
+#include "BufferManager.h"
+#include <unordered_map>
+#include <memory>
+#include <shared_mutex>
+
+class BufferRegistry {
+public:
+ // 获取/创建某台机器的 BufferManager
+ BufferManager& getOrCreate(uint32_t managerId, const std::string& name, const RetentionPolicy& defPolicy = {});
+
+ // 查询
+ std::vector<uint32_t> listManagers() const;
+ BufferManager* find(uint32_t managerId);
+ const BufferManager* find(uint32_t managerId) const;
+
+ // 移除一个管理器(可选)
+ void remove(uint32_t managerId);
+
+private:
+ mutable std::shared_mutex mtx_;
+ std::unordered_map<uint32_t, std::unique_ptr<BufferManager>> managers_;
+};
--
Gitblit v1.9.3