Class DoubleBufferTransmitter
Defined in File double_buffer_transmitter.hpp
Base Type
public holoscan::Transmitter
(Class Transmitter)
-
class DoubleBufferTransmitter : public holoscan::Transmitter
Double buffer transmitter class.
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’scompute
method, the message is published to the back stage of the queue. After thecompute
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_