13#ifndef IOX2_DEGRADATION_HANDLER_HPP
14#define IOX2_DEGRADATION_HANDLER_HPP
26 iox2_degradation_info_h_ref info_handle,
27 iox2_callback_context callback_cxt) -> iox2_degradation_action_e;
33 iox2_degradation_info_h_ref m_info;
40 iox2_degradation_info_h_ref info_handle,
41 iox2_callback_context callback_cxt)
42 -> iox2_degradation_action_e;
45 "RawIdType capacity must match iox2_buffer_16_align_4_t capacity");
50 iox2_buffer_16_align_4_t buf;
51 iox2_degradation_info_service_id(m_info, &buf);
56 iox2_buffer_16_align_4_t buf;
57 iox2_degradation_info_receiver_port_id(m_info, &buf);
62 iox2_buffer_16_align_4_t buf;
63 iox2_degradation_info_sender_port_id(m_info, &buf);
79 iox2_degradation_info_h_ref info_handle,
80 iox2_callback_context callback_cxt) -> iox2_degradation_action_e {
83 auto cause = bb::into<DegradationCause>(degradation_cause);
86 return bb::into<iox2_degradation_action_e>((*handler)(cause, info));
The degradation info passed to the [DegradationHandler].
auto service_id() const -> RawIdType
Returns the ServiceId of the involved ports.
auto sender_port_id() const -> RawIdType
Returns the ReceiverPortId of the involved ports.
auto receiver_port_id() const -> RawIdType
Returns the ReceiverPortId of the involved ports.
A resizable container with compile-time fixed static capacity and contiguous inplace storage.
static constexpr auto capacity() noexcept -> SizeType
Retrieves the static capacity of the vector.
static constexpr auto from_range_unchecked(Iter it_begin, Sentinel it_end) -> bb::Optional< StaticVector >
auto degradation_handler_delegate(iox2_degradation_cause_e degradation_cause, iox2_degradation_info_h_ref info_handle, iox2_callback_context callback_cxt) -> iox2_degradation_action_e
DegradationCause
Defines the cause of a degradation and is a parameter of the [DegradationHandler].