Class ArrowPrimitiveChannel¶
Defined in File schemas.hpp
Class Documentation¶
-
class ArrowPrimitiveChannel¶
A channel for logging ArrowPrimitive messages to a topic.
Note
While channels are fully thread-safe, the ArrowPrimitive struct is not thread-safe. Avoid modifying it concurrently or during a log operation.
Public Functions
-
FoxgloveError log(const ArrowPrimitive &msg, std::optional<uint64_t> log_time = std::nullopt) noexcept¶
Log a message to the channel.
- Parameters:
msg – The ArrowPrimitive message to log.
log_time – The timestamp of the message. If omitted, the current time is used.
-
uint64_t id() const noexcept¶
Uniquely identifies a channel in the context of this program.
- Returns:
The ID of the channel.
-
ArrowPrimitiveChannel(const ArrowPrimitiveChannel &other) noexcept = delete¶
-
ArrowPrimitiveChannel &operator=(const ArrowPrimitiveChannel &other) noexcept = delete¶
-
ArrowPrimitiveChannel(ArrowPrimitiveChannel &&other) noexcept = default¶
Default move constructor.
-
ArrowPrimitiveChannel &operator=(ArrowPrimitiveChannel &&other) noexcept = default¶
Default move assignment.
-
~ArrowPrimitiveChannel() = default¶
Default destructor.
Public Static Functions
-
static FoxgloveResult<ArrowPrimitiveChannel> create(const std::string_view &topic, const Context &context = Context())¶
Create a new channel.
- Parameters:
topic – The topic name. You should choose a unique topic name per channel for compatibility with the Foxglove app.
context – The context which associates logs to a sink. If omitted, the default context is used.
-
FoxgloveError log(const ArrowPrimitive &msg, std::optional<uint64_t> log_time = std::nullopt) noexcept¶