Class DownstreamMessageAffordableCondition
Defined in File downstream_affordable.hpp
Base Type
public holoscan::gxf::GXFCondition
(Class GXFCondition)
-
class DownstreamMessageAffordableCondition : public holoscan::gxf::GXFCondition
Condition class that allows an operator to execute only when there is space in any downstream operator’s receiver queues for a specified number of messages produced by a given output port.
This condition applies to a specific output port of the operator as determined by setting the “transmitter” argument.
This condition can also be set via the
Operator::setup
method usingIOSpec::condition
withConditionType::kDownstreamMessageAffordable
. In that case, the transmitter is already known from the port corresponding to theIOSpec
object, so the “transmitter” argument is unnecessary.==Parameters==
min_size (uint64_t): The minimum number of messages that there must be space available for in the front stage of the double-buffer receiver queues of all receivers connected to the specified transmitter.
transmitter (std::string): The transmitter that should check for space in the queue of all of its connected receivers. This should be specified by the name of the operator’s output port the condition will apply to. The Holoscan SDK will then automatically replace the port name with the actual transmitter object at application run time.
Public Functions
-
template<typename ArgT, typename ...ArgsT, typename = std::enable_if_t<!std::is_base_of_v<::holoscan::Condition, 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 DownstreamMessageAffordableCondition(ArgT &&arg, ArgsT&&... args)
-
DownstreamMessageAffordableCondition() = default
-
inline explicit DownstreamMessageAffordableCondition(size_t min_size)
-
inline virtual const char *gxf_typename() const override
-
virtual void setup(ComponentSpec &spec) override
Define the condition specification.
- Parameters
spec – The reference to the component specification.
-
inline std::shared_ptr<Transmitter> transmitter()
-
void min_size(uint64_t min_size)
-
inline uint64_t min_size()
-
inline virtual void initialize() override
Initialize the component.
This method is called only once when the component is created for the first time, and use of light-weight initialization.
-
nvidia::gxf::DownstreamReceptiveSchedulingTerm *get() const