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