13#ifndef IOX2_WAITSET_HPP
14#define IOX2_WAITSET_HPP
33template <ServiceType S>
52 iox2_waitset_guard_h m_handle =
nullptr;
79 auto hash() const -> std::
size_t;
84 friend auto run_callback(iox2_waitset_attachment_id_h,
void*) -> iox2_callback_progression_e;
94 iox2_waitset_attachment_id_h m_handle =
nullptr;
176 auto wait_and_process_once_with_timeout(
181 auto capacity() const -> uint64_t;
184 auto len() const -> uint64_t;
187 auto is_empty() const ->
bool;
222 auto attach_deadline(const
Listener<S>& listener,
iox2::bb::Duration deadline)
251 explicit
WaitSet(iox2_waitset_h handle);
254 iox2_waitset_h m_handle =
nullptr;
263#ifdef DOXYGEN_MACRO_FIX
279 template <ServiceType S>
283 iox2_waitset_builder_h m_handle =
nullptr;
#define IOX2_BUILDER_OPTIONAL(type, name)
Abstract class that can be implemented by a class that is based on a [FileDescriptor].
Represents the receiving endpoint of an event based communication.
Represents an attachment to the [WaitSet].
auto has_missed_deadline(const WaitSetGuard< S > &guard) const -> bool
Returns true if the deadline for the attachment corresponding to [WaitSetGuard] was missed.
auto operator=(const WaitSetAttachmentId &rhs) -> WaitSetAttachmentId &=delete
auto operator=(WaitSetAttachmentId &&rhs) noexcept -> WaitSetAttachmentId &
WaitSetAttachmentId(WaitSetAttachmentId &&rhs) noexcept
auto hash() const -> std::size_t
Returns the a non-secure hash for the [WaitSetAttachmentId].
auto has_event_from(const WaitSetGuard< S > &guard) const -> bool
WaitSetAttachmentId(const WaitSetAttachmentId &rhs)=delete
static auto from_guard(const WaitSetGuard< S > &guard) -> WaitSetAttachmentId
The builder for the [WaitSet].
auto operator=(const WaitSetBuilder &) -> WaitSetBuilder &=delete
~WaitSetBuilder()=default
auto create() const &&-> bb::Expected< WaitSet< S >, WaitSetCreateError >
Creates the [WaitSet].
auto operator=(WaitSetBuilder &&) -> WaitSetBuilder &=delete
WaitSetBuilder(WaitSetBuilder &&)=delete
auto signal_handling_mode(const SignalHandlingMode value) -> decltype(auto)
WaitSetBuilder(const WaitSetBuilder &)=delete
friend class WaitSetAttachmentId
WaitSetGuard(WaitSetGuard &&) noexcept
WaitSet(const WaitSet &)=delete
auto operator=(const WaitSet &) -> WaitSet &=delete
WaitSet(WaitSet &&) noexcept
WaitSetRunResult
States why the [WaitSet::run()] method returned.
WaitSetRunError
Defines the failures that can occur when calling [WaitSet::run()].
WaitSetCreateError
Defines the failures that can occur when calling [WaitSetBuilder::create()].