Class ArrowPrimitiveChannel

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.