Class AsynchronousCondition
Defined in File asynchronous.hpp
Base Type
public holoscan::gxf::GXFCondition
(Class GXFCondition)
-
class AsynchronousCondition : public holoscan::gxf::GXFCondition
Condition class to support asynchronous execution of operators.
This condition waits on an asynchronous event which can happen outside of the regular compute function of an operator.
The method
event_state()
method is used to get or set the asynchronous condition’s state. The possible states are:AsynchronousEventState::READY ///< Initial state, first compute call is pending
AsynchronousEventState::WAIT ///< Request to async service yet to be sent, nothing to do but wait
AsynchronousEventState::EVENT_WAITING ///< Request sent to an async service, pending event done notification
AsynchronousEventState::EVENT_DONE ///< Event done notification received, entity ready to compute
AsynchronousEventState::EVENT_NEVER ///< Entity will not call compute again, end of execution
This class wraps GXF SchedulingTerm(
nvidia::gxf::AsynchronousSchedulingTerm
). The event used corresponds togxf_event_t
enum valueGXF_EVENT_EXTERNAL
which is supported by all schedulers.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 AsynchronousCondition(ArgT &&arg, ArgsT&&... args)
-
AsynchronousCondition() = default
-
AsynchronousCondition(const std::string &name, nvidia::gxf::AsynchronousSchedulingTerm *term)
-
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.
-
void event_state(AsynchronousEventState state)
Set the condition’s asynchronous event state.
- Parameters
state – The state to which the condition should be set.
-
AsynchronousEventState event_state() const
Get the asynchronous event state.
- Returns
The current state of the condition.
-
nvidia::gxf::AsynchronousSchedulingTerm *get() const