12 #include <unordered_map>
14 #include <rapidsmpf/buffer/content_description.hpp>
15 #include <rapidsmpf/streaming/core/message.hpp>
118 mutable std::mutex mutex;
119 std::optional<Message> message;
121 Item() noexcept =
default;
123 Item(
Message&& message) : message(std::move(message)) {}
127 mutable std::mutex global_mutex_;
129 std::unordered_map<MessageId, std::shared_ptr<Item>> items_;
130 mutable std::map<MessageId, ContentDescription> content_descriptions_;
Class managing buffer resources.
Description of an object's content.
Type-erased message wrapper around a payload.
Container for individually spillable messages.
MessageId insert(Message &&message)
Insert a new message and return its assigned ID.
Message extract(MessageId mid)
Extract and remove a message by ID.
std::size_t spill(MessageId mid, BufferResource *br) const
Spill a message's device memory to host memory.
std::map< MessageId, ContentDescription > get_content_descriptions() const
Get a snapshot of current messages' content descriptions.
std::uint64_t MessageId
Unique identifier assigned to each message.