NVIDIA Holoscan SDK v2.9.0

Class DoubleBufferTransmitter

Base Type

class DoubleBufferTransmitter : public holoscan::Transmitter

Double buffer transmitter class.

The DoubleBufferTransmitter

class is used to emit messages to another operator within a fragment. This class uses a double buffer queue where messages are initially pushed to a “back

stage”. When

OutputContext::emit is called from an Operator’s compute method, the message is published to the back stage of the queue. After the compute call finishes, all messages from the back stage are pushed to the main stage.

Application authors are not expected to use this class directly. It will be automatically configured for output ports specified via Operator::setup.

==Parameters==

  • capacity (uint64_t, optional): The capacity of the double-buffer queue used by the transmitter. Defaults to 1.

  • policy (uint64_t, optional): The policy to use when a message arrives, but there is no space in the transmitter. The possible values are 0: pop, 1: reject, 2: fault (Default: 2).

Public Functions

template<typename ArgT, typename ...ArgsT, typename = std::enable_if_t<!std::is_base_of_v<::holoscan::Resource, std::decay_t<ArgT>> && (std::is_same_v<::holoscan::Arg, std::decay_t<ArgT>> || std::is_same_v<::holoscan::ArgList, std::decay_t<ArgT>>)>>
inline explicit DoubleBufferTransmitter(ArgT &&arg, ArgsT&&... args)
DoubleBufferTransmitter() = default
DoubleBufferTransmitter(const std::string &name, nvidia::gxf::DoubleBufferTransmitter *component)
DoubleBufferTransmitter(const std::string &name, AnnotatedDoubleBufferTransmitter *component)
virtual const char *gxf_typename() const override
virtual void setup(ComponentSpec &spec) override

Define the resource specification.

Parameters

spec – The reference to the component specification.

void track()

Track the data flow of the receiver and use holoscan::AnnotatedDoubleBufferTransmitter as the GXF Component.

nvidia::gxf::DoubleBufferTransmitter *get() const

Public Members

Parameter<uint64_t> capacity_
Parameter<uint64_t> policy_

Previous Class DoubleBufferReceiver
Next Class DownstreamMessageAffordableCondition
© Copyright 2022-2024, NVIDIA. Last updated on Jan 27, 2025.