55 explicit NodeMap(ChunkStoreFactory chunk_store_factory = {});
61 NodeMap(
const NodeMap& other) =
delete;
62 NodeMap& operator=(
const NodeMap& other) =
delete;
65 NodeMap(NodeMap&& other)
noexcept;
66 NodeMap& operator=(NodeMap&& other)
noexcept;
68 auto Get(std::string_view
id,
69 const ChunkStoreFactory& chunk_store_factory = {})
71 auto operator[](std::string_view
id) ->
AsyncNode* absl_nonnull;
73 auto Get(
const std::vector<std::string_view>& ids,
74 const ChunkStoreFactory& chunk_store_factory = {})
75 -> std::vector<AsyncNode*>;
77 [[nodiscard]] std::unique_ptr<AsyncNode> Extract(std::string_view
id);
80 bool contains(std::string_view
id)
const;
83 std::unique_ptr<ChunkStore> MakeChunkStore(
84 const ChunkStoreFactory& factory = {}, std::string_view
id =
"")
const;
86 mutable act::Mutex mu_;
87 absl::flat_hash_map<std::string, std::unique_ptr<AsyncNode>> nodes_
88 ABSL_GUARDED_BY(mu_){};
90 ChunkStoreFactory chunk_store_factory_;