iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
enum_translation.hpp
Go to the documentation of this file.
1// Copyright (c) 2024 Contributors to the Eclipse Foundation
2//
3// See the NOTICE file(s) distributed with this work for additional
4// information regarding copyright ownership.
5//
6// This program and the accompanying materials are made available under the
7// terms of the Apache Software License 2.0 which is available at
8// https://www.apache.org/licenses/LICENSE-2.0, or the MIT license
9// which is available at https://opensource.org/licenses/MIT.
10//
11// SPDX-License-Identifier: Apache-2.0 OR MIT
12
13#ifndef IOX2_ENUM_TRANSLATION_HPP
14#define IOX2_ENUM_TRANSLATION_HPP
15
21#include "iox2/bb/into.hpp"
24#include "iox2/client_error.hpp"
31#include "iox2/iceoryx2.h"
33#include "iox2/log_level.hpp"
38#include "iox2/port_error.hpp"
40#include "iox2/reader_error.hpp"
41#include "iox2/server_error.hpp"
47#include "iox2/service_type.hpp"
50#include "iox2/type_variant.hpp"
52#include "iox2/writer_error.hpp"
53
54namespace iox2 {
55namespace bb {
56template <>
58 const auto error = static_cast<iox2_semantic_string_error_e>(value);
59 switch (error) {
60 case iox2_semantic_string_error_e_INVALID_CONTENT:
62 case iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH:
64 }
65
67}
68
69template <>
70constexpr auto
72 -> iox2_semantic_string_error_e {
73 switch (value) {
75 return iox2_semantic_string_error_e_INVALID_CONTENT;
77 return iox2_semantic_string_error_e_EXCEEDS_MAXIMUM_LENGTH;
78 }
79
81}
82
83template <>
85 -> const char* {
86 return iox2_semantic_string_error_string(iox2::bb::into<iox2_semantic_string_error_e>(value));
87}
88
89template <>
90constexpr auto from<int, iox2::ServiceType>(const int value) noexcept -> iox2::ServiceType {
91 const auto service_type = static_cast<iox2_service_type_e>(value);
92 switch (service_type) {
93 case iox2_service_type_e_IPC:
95 case iox2_service_type_e_LOCAL:
97 }
98
100}
101
102template <>
104 -> iox2_service_type_e {
105 switch (value) {
107 return iox2_service_type_e_IPC;
109 return iox2_service_type_e_LOCAL;
110 }
111
113}
114
115template <>
116constexpr auto from<int, iox2::NodeCreationFailure>(const int value) noexcept -> iox2::NodeCreationFailure {
117 const auto error = static_cast<iox2_node_creation_failure_e>(value);
118 switch (error) {
119 case iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS:
121 case iox2_node_creation_failure_e_INTERNAL_ERROR:
123 case iox2_node_creation_failure_e_SYSTEM_CORRUPTED:
125 }
126
128}
129
130template <>
131constexpr auto
133 -> iox2_node_creation_failure_e {
134 switch (value) {
136 return iox2_node_creation_failure_e_INSUFFICIENT_PERMISSIONS;
138 return iox2_node_creation_failure_e_INTERNAL_ERROR;
140 return iox2_node_creation_failure_e_SYSTEM_CORRUPTED;
141 }
142
144}
145
146template <>
148 char* {
149 return iox2_node_creation_failure_string(iox2::bb::into<iox2_node_creation_failure_e>(value));
150}
151
152template <>
153constexpr auto from<int, iox2::CallbackProgression>(const int value) noexcept -> iox2::CallbackProgression {
154 const auto error = static_cast<iox2_callback_progression_e>(value);
155 switch (error) {
156 case iox2_callback_progression_e_CONTINUE:
158 case iox2_callback_progression_e_STOP:
160 }
161
163}
164
165template <>
166constexpr auto
168 -> iox2_callback_progression_e {
169 switch (value) {
171 return iox2_callback_progression_e_CONTINUE;
173 return iox2_callback_progression_e_STOP;
174 }
175
177}
178
179template <>
180constexpr auto from<int, iox2::NodeListFailure>(const int value) noexcept -> iox2::NodeListFailure {
181 const auto error = static_cast<iox2_node_list_failure_e>(value);
182 switch (error) {
183 case iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS:
185 case iox2_node_list_failure_e_INTERNAL_ERROR:
187 case iox2_node_list_failure_e_INTERRUPT:
189 }
190
192}
193
194template <>
196 -> iox2_node_list_failure_e {
197 switch (value) {
199 return iox2_node_list_failure_e_INSUFFICIENT_PERMISSIONS;
201 return iox2_node_list_failure_e_INTERNAL_ERROR;
203 return iox2_node_list_failure_e_INTERRUPT;
204 }
205
207}
208
209template <>
210inline auto from<iox2::NodeListFailure, const char*>(const iox2::NodeListFailure value) noexcept -> const char* {
211 return iox2_node_list_failure_string(iox2::bb::into<iox2_node_list_failure_e>(value));
212}
213
214template <>
215constexpr auto from<int, iox2::NodeWaitFailure>(const int value) noexcept -> iox2::NodeWaitFailure {
216 const auto error = static_cast<iox2_node_wait_failure_e>(value);
217 switch (error) {
218 case iox2_node_wait_failure_e_TERMINATION_REQUEST:
220 case iox2_node_wait_failure_e_INTERRUPT:
222 }
223
225}
226
227template <>
229 -> iox2_node_wait_failure_e {
230 switch (value) {
232 return iox2_node_wait_failure_e_TERMINATION_REQUEST;
234 return iox2_node_wait_failure_e_INTERRUPT;
235 }
236
238}
239
240template <>
241inline auto from<iox2::NodeWaitFailure, const char*>(const iox2::NodeWaitFailure value) noexcept -> const char* {
242 return iox2_node_wait_failure_string(iox2::bb::into<iox2_node_wait_failure_e>(value));
243}
244
245template <>
247 -> iox2_messaging_pattern_e {
248 switch (value) {
250 return iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE;
252 return iox2_messaging_pattern_e_EVENT;
254 return iox2_messaging_pattern_e_REQUEST_RESPONSE;
256 return iox2_messaging_pattern_e_BLACKBOARD;
257 }
258
260}
261
262template <>
263constexpr auto from<int, iox2::ServiceDetailsError>(const int value) noexcept -> iox2::ServiceDetailsError {
264 const auto error = static_cast<iox2_service_details_error_e>(value);
265 switch (error) {
266 case iox2_service_details_error_e_INTERRUPT:
268 case iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS:
270 case iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO:
272 case iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO:
274 case iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE:
276 case iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO:
278 case iox2_service_details_error_e_INTERNAL_ERROR:
280 case iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE:
282 case iox2_service_details_error_e_VERSION_MISMATCH:
284 }
285
287}
288
289template <>
290constexpr auto
292 -> iox2_service_details_error_e {
293 switch (value) {
295 return iox2_service_details_error_e_INTERRUPT;
297 return iox2_service_details_error_e_INSUFFICIENT_PERMISSIONS;
299 return iox2_service_details_error_e_FAILED_TO_OPEN_STATIC_SERVICE_INFO;
301 return iox2_service_details_error_e_FAILED_TO_READ_STATIC_SERVICE_INFO;
303 return iox2_service_details_error_e_FAILED_TO_ACQUIRE_NODE_STATE;
305 return iox2_service_details_error_e_FAILED_TO_DESERIALIZE_STATIC_SERVICE_INFO;
307 return iox2_service_details_error_e_INTERNAL_ERROR;
309 return iox2_service_details_error_e_SERVICE_IN_INCONSISTENT_STATE;
311 return iox2_service_details_error_e_VERSION_MISMATCH;
312 }
313
315}
316
317template <>
319 char* {
320 return iox2_service_details_error_string(iox2::bb::into<iox2_service_details_error_e>(value));
321}
322
323template <>
325 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
326 switch (error) {
327 case iox2_event_open_or_create_error_e_O_INTERRUPT:
329 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
331 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
333 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
335 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
337 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
339 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
341 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
343 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
345 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
347 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
349 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
351 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
353 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
355 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
357 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
359 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
361 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
363 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
365 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
367
368 case iox2_event_open_or_create_error_e_C_INTERRUPT:
370 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
372 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
374 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
376 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
378 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
380 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
382 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
384 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
386
387 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
389 }
390
392}
393
394template <>
395constexpr auto
397 -> iox2_event_open_or_create_error_e {
398 switch (value) {
400 return iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST;
402 return iox2_event_open_or_create_error_e_O_INTERRUPT;
404 return iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
406 return iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
408 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
410 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
412 return iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE;
414 return iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION;
416 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS;
418 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS;
420 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID;
422 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
424 return iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
426 return iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
428 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT;
430 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE;
432 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT;
434 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT;
436 return iox2_event_open_or_create_error_e_O_VERSION_MISMATCH;
438 return iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
439
441 return iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX;
442
444 return iox2_event_open_or_create_error_e_C_INTERRUPT;
446 return iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
448 return iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
450 return iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE;
452 return iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
454 return iox2_event_open_or_create_error_e_C_ALREADY_EXISTS;
456 return iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
458 return iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE;
460 return iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
461 }
462
464}
465
466template <>
468 char* {
469 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
470}
471
472template <>
473constexpr auto from<int, iox2::EventOpenError>(const int value) noexcept -> iox2::EventOpenError {
474 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
475 switch (error) {
476 case iox2_event_open_or_create_error_e_O_INTERRUPT:
478 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
480 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
482 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
484 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
486 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
488 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
490 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
492 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
494 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
496 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
498 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
500 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
502 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
504 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
506 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
508 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
510 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
512 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
514 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
516 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
517 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
519 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
521 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
523 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
525 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
527 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
529 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
531 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
533 case iox2_event_open_or_create_error_e_C_INTERRUPT:
535 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
537 // NOLINTEND(bugprone-branch-clone)
538 }
540}
541
542template <>
544 -> iox2_event_open_or_create_error_e {
545 switch (value) {
547 return iox2_event_open_or_create_error_e_O_INTERRUPT;
549 return iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST;
551 return iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
553 return iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
555 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
557 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
559 return iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE;
561 return iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION;
563 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS;
565 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS;
567 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID;
569 return iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
571 return iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
573 return iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
575 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT;
577 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT;
579 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT;
581 return iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE;
583 return iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
585 return iox2_event_open_or_create_error_e_O_VERSION_MISMATCH;
586 }
587
589}
590
591template <>
592inline auto from<iox2::EventOpenError, const char*>(const iox2::EventOpenError value) noexcept -> const char* {
593 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
594}
595
596template <>
597constexpr auto from<int, iox2::EventCreateError>(const int value) noexcept -> iox2::EventCreateError {
598 const auto error = static_cast<iox2_event_open_or_create_error_e>(value);
599 switch (error) {
600 case iox2_event_open_or_create_error_e_C_INTERRUPT:
602 case iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
604 case iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE:
606 case iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
608 case iox2_event_open_or_create_error_e_C_ALREADY_EXISTS:
610 case iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
612 case iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
614 case iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
616 case iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE:
618 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
619 case iox2_event_open_or_create_error_e_SYSTEM_IN_FLUX:
621 case iox2_event_open_or_create_error_e_O_DOES_NOT_EXIST:
623 case iox2_event_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
625 case iox2_event_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
627 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
629 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
631 case iox2_event_open_or_create_error_e_O_INTERNAL_FAILURE:
633 case iox2_event_open_or_create_error_e_O_HANGS_IN_CREATION:
635 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NOTIFIERS:
637 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_LISTENERS:
639 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MAX_EVENT_ID:
641 case iox2_event_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
643 case iox2_event_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
645 case iox2_event_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
647 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_DEADLINE:
649 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_CREATED_EVENT:
651 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DROPPED_EVENT:
653 case iox2_event_open_or_create_error_e_O_INCOMPATIBLE_NOTIFIER_DEAD_EVENT:
655 case iox2_event_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
657 case iox2_event_open_or_create_error_e_O_VERSION_MISMATCH:
659 case iox2_event_open_or_create_error_e_O_INTERRUPT:
661 // NOLINTEND(bugprone-branch-clone)
662 }
664}
665
666template <>
667constexpr auto
669 -> iox2_event_open_or_create_error_e {
670 switch (value) {
672 return iox2_event_open_or_create_error_e_C_INTERRUPT;
674 return iox2_event_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
676 return iox2_event_open_or_create_error_e_C_ALREADY_EXISTS;
678 return iox2_event_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
680 return iox2_event_open_or_create_error_e_C_INTERNAL_FAILURE;
682 return iox2_event_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
684 return iox2_event_open_or_create_error_e_C_OLD_CONNECTION_STILL_ACTIVE;
686 return iox2_event_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
688 return iox2_event_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
689 }
690
692}
693
694template <>
695inline auto from<iox2::EventCreateError, const char*>(const iox2::EventCreateError value) noexcept -> const char* {
696 return iox2_event_open_or_create_error_string(iox2::bb::into<iox2_event_open_or_create_error_e>(value));
697}
698
699template <>
700constexpr auto from<int, iox2::PublishSubscribeOpenOrCreateError>(const int value) noexcept
702 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
703 switch (error) {
704 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
706 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
708 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
710 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
712 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
714 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
716 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
718 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
720 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
722 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
724 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
726 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
728 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
730 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
732 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
734 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
736 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
738 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
740 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
742 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
744
745 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
747 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
749 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
751 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
753 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
755 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
757 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
759 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
761 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
763 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
765
766 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
768 }
769
771}
772
773template <>
775 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
776 switch (error) {
777 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
779 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
781 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
783 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
785 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
787 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
789 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
791 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
793 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
795 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
797 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
799 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
801 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
803 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
805 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
807 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
809 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
811 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
813 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
815 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
817
818 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
819 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
821 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
823 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
825 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
827 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
829 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
831 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
833 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
835 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
837 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
839 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
841 // NOLINTEND(bugprone-branch-clone)
842 }
844}
845
846template <>
848 const iox2::PublishSubscribeOpenError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
849 switch (value) {
851 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
853 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
855 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
857 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
859 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
861 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
863 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
865 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
867 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
869 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
871 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
873 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
875 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
877 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
879 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
881 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
883 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
885 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
887 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
889 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
890 }
891
893}
894
895template <>
897 -> const char* {
898 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
899}
900
901template <>
902constexpr auto from<int, iox2::PublishSubscribeCreateError>(const int value) noexcept
904 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
905 switch (error) {
906 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
908 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
910 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
912 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
914 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
916 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
918 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
920 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
922 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
924 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
926
927 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
928 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
930 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
932 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
934 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
936 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
938 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
940 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
942 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
944 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
946 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
948 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
950 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
952 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
954 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
956 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
958 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
960 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
962 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
964 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
966 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
968 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
970 // NOLINTEND(bugprone-branch-clone)
971 }
973}
974
975template <>
977 const iox2::PublishSubscribeCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
978 switch (value) {
980 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
982 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
984 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
986 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
988 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
990 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
992 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
994 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
996 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
998 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
999 }
1000
1002}
1003
1004template <>
1006 -> const char* {
1007 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1008}
1009
1010template <>
1012 const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
1013 switch (value) {
1015 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
1017 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
1019 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
1021 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
1023 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1025 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1027 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
1029 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
1031 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
1033 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
1035 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
1037 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1039 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
1041 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1043 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1045 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
1047 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1049 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1051 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1053 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
1054
1056 return iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX;
1057
1059 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
1061 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1063 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
1065 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
1067 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1069 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
1071 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1073 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
1075 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1077 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1078 }
1079
1081}
1082
1083template <>
1084inline auto
1086 -> const char* {
1087 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1088}
1089
1090template <>
1091constexpr auto from<int, iox2::RequestResponseCreateError>(const int value) noexcept
1093 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1094 switch (error) {
1095 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1097 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1099 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1101 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1103 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1105 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1107 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1109 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1111 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1113
1114 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1115 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1117 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1119 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1121 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1123 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1125 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1127 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1129 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1131 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1133 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1135 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1137 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1139 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1141 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1143 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1145 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1147 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1149 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1151 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1153 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1155 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1157 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1159 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1161 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1163
1164 // NOLINTEND(bugprone-branch-clone)
1165 }
1167}
1168
1169template <>
1171 const iox2::RequestResponseCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1172 switch (value) {
1174 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1176 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1178 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1180 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1182 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1184 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1186 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1188 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1190 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1191 }
1192
1194}
1195
1196template <>
1198 -> const char* {
1199 return iox2_request_response_open_or_create_error_string(
1200 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1201}
1202
1203template <>
1205 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1206 switch (error) {
1207 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1209 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1211 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1213 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1215 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1217 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1219 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1221 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1223 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1225 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1227 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1229 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1231 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1233 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1235 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1237 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1239 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1241 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1243 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1245 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1247 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1249 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1251 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1253
1254 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1255 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1257 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1259 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1261 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1263 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1265 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1267 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1269 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1271 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1273 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1275 // NOLINTEND(bugprone-branch-clone)
1276 }
1278}
1279
1280template <>
1282 const iox2::RequestResponseOpenError value) noexcept -> iox2_request_response_open_or_create_error_e {
1283 switch (value) {
1285 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1287 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1289 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1291 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1293 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1295 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1297 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1299 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1301 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1303 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1305 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1307 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1309 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1311 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1313 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1315 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1317 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1319 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1321 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1323 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1325 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1327 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1329 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1330 }
1331
1333}
1334
1335template <>
1337 -> const char* {
1338 return iox2_request_response_open_or_create_error_string(
1339 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1340}
1341
1342template <>
1343constexpr auto from<int, iox2::RequestResponseOpenOrCreateError>(const int value) noexcept
1345 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1346 switch (error) {
1347 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1349 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1351 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1353 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1355 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1357 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1359 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1361 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1363 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1366 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1368 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1370 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1372 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1374 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1376 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1378 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1380 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1382 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1384 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1386 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1388 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1390 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1392 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1394
1395 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1397 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1399 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1401 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1403 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1405 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1407 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1409 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1411 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1413
1414 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1416 }
1417
1419}
1420
1421template <>
1423 const iox2::RequestResponseOpenOrCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1424 switch (value) {
1426 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1428 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1430 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1432 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1434 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1436 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1438 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1440 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1442 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1444 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1446 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1448 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1450 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1452 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1454 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1456 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1458 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1460 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1462 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1464 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1466 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1468 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1470 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1471
1473 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1475 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1477 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1479 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1481 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1483 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1485 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1487 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1489 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1490
1491
1493 return iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX;
1494 }
1495
1497}
1498
1499template <>
1500inline auto
1502 -> const char* {
1503 return iox2_request_response_open_or_create_error_string(
1504 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1505}
1506
1507template <>
1508constexpr auto from<int, iox2::BlackboardCreateError>(const int value) noexcept -> iox2::BlackboardCreateError {
1509 const auto error = static_cast<iox2_blackboard_create_error_e>(value);
1510 switch (error) {
1511 case iox2_blackboard_create_error_e_C_INTERRUPT:
1513 case iox2_blackboard_create_error_e_C_ALREADY_EXISTS:
1515 case iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1517 case iox2_blackboard_create_error_e_C_INTERNAL_FAILURE:
1519 case iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1521 case iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1523 case iox2_blackboard_create_error_e_C_HANGS_IN_CREATION:
1525 case iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED:
1527 case iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1529 case iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1531 }
1532
1534}
1535
1536template <>
1537constexpr auto
1539 -> iox2_blackboard_create_error_e {
1540 switch (value) {
1542 return iox2_blackboard_create_error_e_C_INTERRUPT;
1544 return iox2_blackboard_create_error_e_C_ALREADY_EXISTS;
1546 return iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1548 return iox2_blackboard_create_error_e_C_INTERNAL_FAILURE;
1550 return iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1552 return iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1554 return iox2_blackboard_create_error_e_C_HANGS_IN_CREATION;
1556 return iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED;
1558 return iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1560 return iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1561 }
1562
1564}
1565
1566template <>
1568 char* {
1569 return iox2_blackboard_create_error_string(iox2::bb::into<iox2_blackboard_create_error_e>(value));
1570}
1571
1572template <>
1573constexpr auto from<int, iox2::BlackboardOpenError>(const int value) noexcept -> iox2::BlackboardOpenError {
1574 const auto error = static_cast<iox2_blackboard_open_error_e>(value);
1575 switch (error) {
1576 case iox2_blackboard_open_error_e_O_INTERRUPT:
1578 case iox2_blackboard_open_error_e_O_DOES_NOT_EXIST:
1580 case iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1582 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS:
1584 case iox2_blackboard_open_error_e_O_INTERNAL_FAILURE:
1586 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1588 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1590 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS:
1592 case iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS:
1594 case iox2_blackboard_open_error_e_O_HANGS_IN_CREATION:
1596 case iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1598 case iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1600 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1602 case iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1604 case iox2_blackboard_open_error_e_O_VERSION_MISMATCH:
1606 }
1607
1609}
1610
1611template <>
1612constexpr auto
1614 -> iox2_blackboard_open_error_e {
1615 switch (value) {
1617 return iox2_blackboard_open_error_e_O_INTERRUPT;
1619 return iox2_blackboard_open_error_e_O_DOES_NOT_EXIST;
1621 return iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1623 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS;
1625 return iox2_blackboard_open_error_e_O_INTERNAL_FAILURE;
1627 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1629 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1631 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS;
1633 return iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS;
1635 return iox2_blackboard_open_error_e_O_HANGS_IN_CREATION;
1637 return iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1639 return iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1641 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1643 return iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1645 return iox2_blackboard_open_error_e_O_VERSION_MISMATCH;
1646 }
1647
1649}
1650
1651template <>
1653 char* {
1654 return iox2_blackboard_open_error_string(iox2::bb::into<iox2_blackboard_open_error_e>(value));
1655}
1656
1657template <>
1658constexpr auto from<int, iox2::WriterCreateError>(const int value) noexcept -> iox2::WriterCreateError {
1659 const auto error = static_cast<iox2_writer_create_error_e>(value);
1660 switch (error) {
1661 case iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS:
1663 case iox2_writer_create_error_e_INTERNAL_FAILURE:
1665 case iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1667 case iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1669 }
1670
1672}
1673
1674template <>
1676 -> iox2_writer_create_error_e {
1677 switch (value) {
1679 return iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS;
1681 return iox2_writer_create_error_e_INTERNAL_FAILURE;
1683 return iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1685 return iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1686 }
1687
1689}
1690
1691template <>
1692inline auto from<iox2::WriterCreateError, const char*>(const iox2::WriterCreateError value) noexcept -> const char* {
1693 return iox2_writer_create_error_string(iox2::bb::into<iox2_writer_create_error_e>(value));
1694}
1695
1696template <>
1697constexpr auto from<int, iox2::EntryHandleMutError>(const int value) noexcept -> iox2::EntryHandleMutError {
1698 const auto error = static_cast<iox2_entry_handle_mut_error_e>(value);
1699 switch (error) {
1700 case iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST:
1702 case iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS:
1704 }
1705
1707}
1708
1709template <>
1710constexpr auto
1712 -> iox2_entry_handle_mut_error_e {
1713 switch (value) {
1715 return iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST;
1717 return iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS;
1718 }
1719
1721}
1722
1723template <>
1725 char* {
1726 return iox2_entry_handle_mut_error_string(iox2::bb::into<iox2_entry_handle_mut_error_e>(value));
1727}
1728
1729template <>
1730constexpr auto from<int, iox2::ReaderCreateError>(const int value) noexcept -> iox2::ReaderCreateError {
1731 const auto error = static_cast<iox2_reader_create_error_e>(value);
1732 switch (error) {
1733 case iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS:
1735 case iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1737 case iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1739 }
1740
1742}
1743
1744template <>
1746 -> iox2_reader_create_error_e {
1747 switch (value) {
1749 return iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS;
1751 return iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1753 return iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1754 }
1755
1757}
1758
1759template <>
1760inline auto from<iox2::ReaderCreateError, const char*>(const iox2::ReaderCreateError value) noexcept -> const char* {
1761 return iox2_reader_create_error_string(iox2::bb::into<iox2_reader_create_error_e>(value));
1762}
1763
1764template <>
1765constexpr auto from<int, iox2::EntryHandleError>(const int value) noexcept -> iox2::EntryHandleError {
1766 const auto error = static_cast<iox2_entry_handle_error_e>(value);
1767 switch (error) {
1768 case iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST:
1770 }
1771
1773}
1774
1775template <>
1777 -> iox2_entry_handle_error_e {
1778 switch (value) {
1780 return iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST;
1781 }
1782
1784}
1785
1786template <>
1787inline auto from<iox2::EntryHandleError, const char*>(const iox2::EntryHandleError value) noexcept -> const char* {
1788 return iox2_entry_handle_error_string(iox2::bb::into<iox2_entry_handle_error_e>(value));
1789}
1790
1791template <>
1792constexpr auto from<int, iox2::ClientCreateError>(const int value) noexcept -> iox2::ClientCreateError {
1793 const auto error = static_cast<iox2_client_create_error_e>(value);
1794 switch (error) {
1795 case iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS:
1797 case iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1799 case iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1801 case iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1803 case iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE:
1805 }
1806
1808}
1809
1810template <>
1812 -> iox2_client_create_error_e {
1813 switch (value) {
1815 return iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS;
1817 return iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
1819 return iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1821 return iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1823 return iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE;
1824 }
1825
1827}
1828
1829template <>
1830inline auto from<iox2::ClientCreateError, const char*>(const iox2::ClientCreateError value) noexcept -> const char* {
1831 return iox2_client_create_error_string(iox2::bb::into<iox2_client_create_error_e>(value));
1832}
1833
1834template <>
1835constexpr auto from<int, iox2::ServerCreateError>(const int value) noexcept -> iox2::ServerCreateError {
1836 const auto error = static_cast<iox2_server_create_error_e>(value);
1837 switch (error) {
1838 case iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS:
1840 case iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1842 case iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1844 case iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1846 }
1847
1849}
1850
1851template <>
1853 -> iox2_server_create_error_e {
1854 switch (value) {
1856 return iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS;
1858 return iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
1860 return iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1862 return iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1863 }
1864
1866}
1867
1868template <>
1869inline auto from<iox2::ServerCreateError, const char*>(const iox2::ServerCreateError value) noexcept -> const char* {
1870 return iox2_server_create_error_string(iox2::bb::into<iox2_server_create_error_e>(value));
1871}
1872
1873template <>
1874constexpr auto from<int, iox2::NotifierCreateError>(const int value) noexcept -> iox2::NotifierCreateError {
1875 const auto error = static_cast<iox2_notifier_create_error_e>(value);
1876 switch (error) {
1877 case iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS:
1879 case iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1881 case iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1883 }
1884
1886}
1887
1888template <>
1889constexpr auto
1891 -> iox2_notifier_create_error_e {
1892 switch (value) {
1894 return iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS;
1896 return iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1898 return iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1899 }
1900
1902}
1903
1904template <>
1906 char* {
1907 return iox2_notifier_create_error_string(iox2::bb::into<iox2_notifier_create_error_e>(value));
1908}
1909
1910template <>
1911constexpr auto from<int, iox2::ListenerCreateError>(const int value) noexcept -> iox2::ListenerCreateError {
1912 const auto error = static_cast<iox2_listener_create_error_e>(value);
1913 switch (error) {
1914 case iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS:
1916 case iox2_listener_create_error_e_RESOURCE_CREATION_FAILED:
1918 case iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1920 case iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1922 }
1923
1925}
1926
1927template <>
1928constexpr auto
1930 -> iox2_listener_create_error_e {
1931 switch (value) {
1933 return iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS;
1935 return iox2_listener_create_error_e_RESOURCE_CREATION_FAILED;
1937 return iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1939 return iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1940 }
1941
1943}
1944
1945template <>
1947 char* {
1948 return iox2_listener_create_error_string(iox2::bb::into<iox2_listener_create_error_e>(value));
1949}
1950
1951template <>
1952constexpr auto from<int, iox2::NotifierNotifyError>(const int value) noexcept -> iox2::NotifierNotifyError {
1953 const auto error = static_cast<iox2_notifier_notify_error_e>(value);
1954 switch (error) {
1955 case iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS:
1957 case iox2_notifier_notify_error_e_MISSED_DEADLINE:
1959 case iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME:
1961 }
1962
1964}
1965
1966template <>
1967constexpr auto
1969 -> iox2_notifier_notify_error_e {
1970 switch (value) {
1972 return iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS;
1974 return iox2_notifier_notify_error_e_MISSED_DEADLINE;
1976 return iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME;
1977 }
1978
1980}
1981
1982template <>
1984 char* {
1985 return iox2_notifier_notify_error_string(iox2::bb::into<iox2_notifier_notify_error_e>(value));
1986}
1987
1988template <>
1989constexpr auto from<int, iox2::ListenerWaitError>(const int value) noexcept -> iox2::ListenerWaitError {
1990 const auto error = static_cast<iox2_listener_wait_error_e>(value);
1991 switch (error) {
1992 case iox2_listener_wait_error_e_CONTRACT_VIOLATION:
1994 case iox2_listener_wait_error_e_INTERRUPT_SIGNAL:
1996 case iox2_listener_wait_error_e_INTERNAL_FAILURE:
1998 }
1999
2001}
2002
2003template <>
2005 -> iox2_listener_wait_error_e {
2006 switch (value) {
2008 return iox2_listener_wait_error_e_CONTRACT_VIOLATION;
2010 return iox2_listener_wait_error_e_INTERRUPT_SIGNAL;
2012 return iox2_listener_wait_error_e_INTERNAL_FAILURE;
2013 }
2014
2016}
2017
2018template <>
2019inline auto from<iox2::ListenerWaitError, const char*>(const iox2::ListenerWaitError value) noexcept -> const char* {
2020 return iox2_listener_wait_error_string(iox2::bb::into<iox2_listener_wait_error_e>(value));
2021}
2022
2023template <>
2024constexpr auto from<int, iox2::PublisherCreateError>(const int value) noexcept -> iox2::PublisherCreateError {
2025 const auto error = static_cast<iox2_publisher_create_error_e>(value);
2026 switch (error) {
2027 case iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS:
2029 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
2031 case iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2033 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2035 }
2036
2038}
2039
2040template <>
2041constexpr auto
2043 -> iox2_publisher_create_error_e {
2044 switch (value) {
2046 return iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS;
2048 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
2050 return iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2052 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2053 }
2054
2056}
2057
2058template <>
2060 char* {
2061 return iox2_publisher_create_error_string(iox2::bb::into<iox2_publisher_create_error_e>(value));
2062}
2063
2064template <>
2065constexpr auto from<int, iox2::SubscriberCreateError>(const int value) noexcept -> iox2::SubscriberCreateError {
2066 const auto error = static_cast<iox2_subscriber_create_error_e>(value);
2067 switch (error) {
2068 case iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE:
2070 case iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS:
2072 case iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2074 case iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2076 }
2077
2079}
2080
2081template <>
2082constexpr auto
2084 -> iox2_subscriber_create_error_e {
2085 switch (value) {
2087 return iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE;
2089 return iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS;
2091 return iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2093 return iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2094 }
2095
2097}
2098
2099template <>
2101 char* {
2102 return iox2_subscriber_create_error_string(iox2::bb::into<iox2_subscriber_create_error_e>(value));
2103}
2104
2105template <>
2106constexpr auto from<int, iox2::SendError>(const int value) noexcept -> iox2::SendError {
2107 const auto error = static_cast<iox2_send_error_e>(value);
2108 switch (error) {
2109 case iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2111 case iox2_send_error_e_CONNECTION_CORRUPTED:
2113 case iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2115 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2117 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2119 case iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2121 case iox2_send_error_e_CONNECTION_ERROR:
2123 case iox2_send_error_e_UNABLE_TO_DELIVER:
2125 case iox2_send_error_e_INTERNAL_ERROR:
2127 }
2128
2130}
2131
2132template <>
2133constexpr auto from<iox2::SendError, iox2_send_error_e>(const iox2::SendError value) noexcept -> iox2_send_error_e {
2134 switch (value) {
2136 return iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2138 return iox2_send_error_e_CONNECTION_CORRUPTED;
2140 return iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2142 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2144 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2146 return iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2148 return iox2_send_error_e_CONNECTION_ERROR;
2150 return iox2_send_error_e_UNABLE_TO_DELIVER;
2152 return iox2_send_error_e_INTERNAL_ERROR;
2153 }
2154
2156}
2157
2158template <>
2159inline auto from<iox2::SendError, const char*>(const iox2::SendError value) noexcept -> const char* {
2160 return iox2_send_error_string(iox2::bb::into<iox2_send_error_e>(value));
2161}
2162
2163template <>
2164constexpr auto from<int, iox2::ReceiveError>(const int value) noexcept -> iox2::ReceiveError {
2165 const auto error = static_cast<iox2_receive_error_e>(value);
2166 switch (error) {
2167 case iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION:
2169 case iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2171 case iox2_receive_error_e_EXCEEDS_MAX_BORROWS:
2173 }
2174
2176}
2177
2178template <>
2180 -> iox2_receive_error_e {
2181 switch (value) {
2183 return iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION;
2185 return iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2187 return iox2_receive_error_e_EXCEEDS_MAX_BORROWS;
2188 }
2189
2191}
2192
2193template <>
2194inline auto from<iox2::ReceiveError, const char*>(const iox2::ReceiveError value) noexcept -> const char* {
2195 return iox2_receive_error_string(iox2::bb::into<iox2_receive_error_e>(value));
2196}
2197
2198template <>
2199constexpr auto from<int, iox2::LoanError>(const int value) noexcept -> iox2::LoanError {
2200 const auto error = static_cast<iox2_loan_error_e>(value);
2201 switch (error) {
2202 case iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES:
2204 case iox2_loan_error_e_OUT_OF_MEMORY:
2206 case iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE:
2208 case iox2_loan_error_e_INTERNAL_FAILURE:
2210 }
2211
2213}
2214
2215template <>
2216constexpr auto from<iox2::LoanError, iox2_loan_error_e>(const iox2::LoanError value) noexcept -> iox2_loan_error_e {
2217 switch (value) {
2219 return iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES;
2221 return iox2_loan_error_e_OUT_OF_MEMORY;
2223 return iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE;
2225 return iox2_loan_error_e_INTERNAL_FAILURE;
2226 }
2227
2229}
2230
2231template <>
2232inline auto from<iox2::LoanError, const char*>(const iox2::LoanError value) noexcept -> const char* {
2233 return iox2_loan_error_string(iox2::bb::into<iox2_loan_error_e>(value));
2234}
2235
2236template <>
2237constexpr auto from<int, iox2::RequestSendError>(const int value) noexcept -> iox2::RequestSendError {
2238 const auto error = static_cast<iox2_request_send_error_e>(value);
2239 switch (error) {
2240 case iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS:
2242 case iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2244 case iox2_request_send_error_e_CONNECTION_CORRUPTED:
2246 case iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2248 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2250 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2252 case iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2254 case iox2_request_send_error_e_CONNECTION_ERROR:
2256 case iox2_request_send_error_e_UNABLE_TO_DELIVER:
2258 case iox2_request_send_error_e_INTERNAL_ERROR:
2260 }
2261
2263}
2264
2265template <>
2267 -> iox2_request_send_error_e {
2268 switch (value) {
2270 return iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS;
2272 return iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2274 return iox2_request_send_error_e_CONNECTION_CORRUPTED;
2276 return iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2278 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2280 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2282 return iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2284 return iox2_request_send_error_e_CONNECTION_ERROR;
2286 return iox2_request_send_error_e_UNABLE_TO_DELIVER;
2288 return iox2_request_send_error_e_INTERNAL_ERROR;
2289 }
2290
2292}
2293
2294template <>
2295inline auto from<iox2::RequestSendError, const char*>(const iox2::RequestSendError value) noexcept -> const char* {
2296 return iox2_request_send_error_string(iox2::bb::into<iox2_request_send_error_e>(value));
2297}
2298
2299template <>
2300constexpr auto from<int, iox2::TypeVariant>(const int value) noexcept -> iox2::TypeVariant {
2301 const auto variant = static_cast<iox2_type_variant_e>(value);
2302 switch (variant) {
2303 case iox2_type_variant_e_DYNAMIC:
2305 case iox2_type_variant_e_FIXED_SIZE:
2307 }
2308
2310}
2311
2312template <>
2313constexpr auto from<int, iox2::ServiceListError>(const int value) noexcept -> iox2::ServiceListError {
2314 const auto variant = static_cast<iox2_service_list_error_e>(value);
2315 switch (variant) {
2316 case iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS:
2318 case iox2_service_list_error_e_INTERNAL_ERROR:
2320 }
2321
2323}
2324
2325template <>
2327 -> iox2_service_list_error_e {
2328 switch (value) {
2330 return iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS;
2332 return iox2_service_list_error_e_INTERNAL_ERROR;
2333 }
2334
2336}
2337
2338template <>
2339inline auto from<iox2::ServiceListError, const char*>(const iox2::ServiceListError value) noexcept -> const char* {
2340 return iox2_service_list_error_string(iox2::bb::into<iox2_service_list_error_e>(value));
2341}
2342
2343template <>
2344constexpr auto from<int, iox2::MessagingPattern>(const int value) noexcept -> iox2::MessagingPattern {
2345 const auto variant = static_cast<iox2_messaging_pattern_e>(value);
2346 switch (variant) {
2347 case iox2_messaging_pattern_e_EVENT:
2349 case iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE:
2351 case iox2_messaging_pattern_e_REQUEST_RESPONSE:
2353 case iox2_messaging_pattern_e_BLACKBOARD:
2355 }
2356
2358}
2359
2360template <>
2361constexpr auto from<int, iox2::BackpressureStrategy>(const int value) noexcept -> iox2::BackpressureStrategy {
2362 const auto variant = static_cast<iox2_backpressure_strategy_e>(value);
2363 switch (variant) {
2364 case iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED:
2366 case iox2_backpressure_strategy_e_DISCARD_DATA:
2368 }
2369
2371}
2372
2373template <>
2374constexpr auto from<iox2::BackpressureStrategy, int>(const iox2::BackpressureStrategy value) noexcept -> int {
2375 switch (value) {
2377 return iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED;
2379 return iox2_backpressure_strategy_e_DISCARD_DATA;
2380 }
2381
2383}
2384
2385template <>
2386constexpr auto from<int, iox2::ConnectionFailure>(const int value) noexcept -> iox2::ConnectionFailure {
2387 const auto variant = static_cast<iox2_connection_failure_e>(value);
2388 switch (variant) {
2389 case iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION:
2391 case iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2393 }
2394
2396}
2397
2398template <>
2400 -> iox2_connection_failure_e {
2401 switch (value) {
2403 return iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION;
2405 return iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2406 }
2407
2409}
2410
2411template <>
2412inline auto from<iox2::ConnectionFailure, const char*>(const iox2::ConnectionFailure value) noexcept -> const char* {
2413 return iox2_connection_failure_string(iox2::bb::into<iox2_connection_failure_e>(value));
2414}
2415
2416template <>
2417constexpr auto from<int, iox2::ConfigCreationError>(const int value) noexcept -> iox2::ConfigCreationError {
2418 const auto variant = static_cast<iox2_config_creation_error_e>(value);
2419 switch (variant) {
2420 case iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS:
2422 case iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS:
2424 case iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS:
2426 case iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST:
2428 case iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE:
2430 case iox2_config_creation_error_e_INVALID_FILE_PATH:
2431 // unreachable since this error case is excluded by using the strong type iox2::bb::FilePath
2433 }
2434
2436}
2437
2438template <>
2439constexpr auto
2441 -> iox2_config_creation_error_e {
2442 switch (value) {
2444 return iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS;
2446 return iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS;
2448 return iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS;
2450 return iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST;
2452 return iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE;
2453 }
2454
2456}
2457
2458template <>
2460 char* {
2461 return iox2_config_creation_error_string(iox2::bb::into<iox2_config_creation_error_e>(value));
2462}
2463
2464template <>
2465constexpr auto from<iox2::LogLevel, iox2_log_level_e>(iox2::LogLevel value) noexcept -> iox2_log_level_e {
2466 switch (value) {
2468 return iox2_log_level_e_TRACE;
2470 return iox2_log_level_e_DEBUG;
2472 return iox2_log_level_e_INFO;
2474 return iox2_log_level_e_WARN;
2476 return iox2_log_level_e_ERROR;
2478 return iox2_log_level_e_FATAL;
2479 }
2481}
2482
2483template <>
2484constexpr auto from<int, iox2::LogLevel>(int value) noexcept -> iox2::LogLevel {
2485 const auto variant = static_cast<iox2_log_level_e>(value);
2486 switch (variant) {
2487 case iox2_log_level_e_TRACE:
2488 return iox2::LogLevel::Trace;
2489 case iox2_log_level_e_DEBUG:
2490 return iox2::LogLevel::Debug;
2491 case iox2_log_level_e_INFO:
2492 return iox2::LogLevel::Info;
2493 case iox2_log_level_e_WARN:
2494 return iox2::LogLevel::Warn;
2495 case iox2_log_level_e_ERROR:
2496 return iox2::LogLevel::Error;
2497 case iox2_log_level_e_FATAL:
2498 return iox2::LogLevel::Fatal;
2499 }
2500
2502}
2503
2504template <>
2505constexpr auto from<int, iox2::WaitSetCreateError>(const int value) noexcept -> iox2::WaitSetCreateError {
2506 const auto variant = static_cast<iox2_waitset_create_error_e>(value);
2507 switch (variant) {
2508 case iox2_waitset_create_error_e_INTERNAL_ERROR:
2510 case iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES:
2512 }
2513
2515}
2516
2517template <>
2518constexpr auto
2520 -> iox2_waitset_create_error_e {
2521 switch (value) {
2523 return iox2_waitset_create_error_e_INTERNAL_ERROR;
2525 return iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES;
2526 }
2527
2529}
2530
2531template <>
2532inline auto from<iox2::WaitSetCreateError, const char*>(const iox2::WaitSetCreateError value) noexcept -> const char* {
2533 return iox2_waitset_create_error_string(iox2::bb::into<iox2_waitset_create_error_e>(value));
2534}
2535
2536template <>
2537constexpr auto from<int, iox2::WaitSetRunResult>(const int value) noexcept -> iox2::WaitSetRunResult {
2538 const auto variant = static_cast<iox2_waitset_run_result_e>(value);
2539 switch (variant) {
2540 case iox2_waitset_run_result_e_INTERRUPT:
2542 case iox2_waitset_run_result_e_TERMINATION_REQUEST:
2544 case iox2_waitset_run_result_e_STOP_REQUEST:
2546 case iox2_waitset_run_result_e_ALL_EVENTS_HANDLED:
2548 }
2549
2551}
2552
2553template <>
2555 -> iox2_waitset_run_result_e {
2556 switch (value) {
2558 return iox2_waitset_run_result_e_INTERRUPT;
2560 return iox2_waitset_run_result_e_TERMINATION_REQUEST;
2562 return iox2_waitset_run_result_e_STOP_REQUEST;
2564 return iox2_waitset_run_result_e_ALL_EVENTS_HANDLED;
2565 }
2566
2568}
2569
2570template <>
2572 const auto variant = static_cast<iox2_waitset_attachment_error_e>(value);
2573 switch (variant) {
2574 case iox2_waitset_attachment_error_e_ALREADY_ATTACHED:
2576 case iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY:
2578 case iox2_waitset_attachment_error_e_INTERNAL_ERROR:
2580 case iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES:
2582 }
2583
2585}
2586
2587template <>
2588constexpr auto
2590 -> iox2_waitset_attachment_error_e {
2591 switch (value) {
2593 return iox2_waitset_attachment_error_e_ALREADY_ATTACHED;
2595 return iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY;
2597 return iox2_waitset_attachment_error_e_INTERNAL_ERROR;
2599 return iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES;
2600 }
2601
2603}
2604
2605template <>
2607 char* {
2608 return iox2_waitset_attachment_error_string(iox2::bb::into<iox2_waitset_attachment_error_e>(value));
2609}
2610
2611template <>
2612constexpr auto from<int, iox2::WaitSetRunError>(const int value) noexcept -> iox2::WaitSetRunError {
2613 const auto variant = static_cast<iox2_waitset_run_error_e>(value);
2614 switch (variant) {
2615 case iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS:
2617 case iox2_waitset_run_error_e_INTERNAL_ERROR:
2619 case iox2_waitset_run_error_e_NO_ATTACHMENTS:
2621 case iox2_waitset_run_error_e_TERMINATION_REQUEST:
2623 case iox2_waitset_run_error_e_INTERRUPT:
2625 }
2626
2628}
2629
2630template <>
2632 -> iox2_waitset_run_error_e {
2633 switch (value) {
2635 return iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS;
2637 return iox2_waitset_run_error_e_INTERNAL_ERROR;
2639 return iox2_waitset_run_error_e_NO_ATTACHMENTS;
2641 return iox2_waitset_run_error_e_TERMINATION_REQUEST;
2643 return iox2_waitset_run_error_e_INTERRUPT;
2644 }
2645
2647}
2648
2649template <>
2650inline auto from<iox2::WaitSetRunError, const char*>(const iox2::WaitSetRunError value) noexcept -> const char* {
2651 return iox2_waitset_run_error_string(iox2::bb::into<iox2_waitset_run_error_e>(value));
2652}
2653
2654template <>
2655constexpr auto
2657 -> iox2_signal_handling_mode_e {
2658 switch (value) {
2660 return iox2_signal_handling_mode_e_DISABLED;
2662 return iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS;
2663 }
2664
2666}
2667
2668template <>
2669constexpr auto from<int, iox2::SignalHandlingMode>(const int value) noexcept -> iox2::SignalHandlingMode {
2670 const auto variant = static_cast<iox2_signal_handling_mode_e>(value);
2671
2672 switch (variant) {
2673 case iox2_signal_handling_mode_e_DISABLED:
2675 case iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS:
2677 }
2678
2680}
2681
2682template <>
2684 -> iox2_allocation_strategy_e {
2685 switch (value) {
2687 return iox2_allocation_strategy_e_BEST_FIT;
2689 return iox2_allocation_strategy_e_POWER_OF_TWO;
2691 return iox2_allocation_strategy_e_STATIC;
2692 }
2693
2695}
2696
2697template <>
2698constexpr auto from<int, iox2::NodeCleanupFailure>(const int value) noexcept -> iox2::NodeCleanupFailure {
2699 const auto variant = static_cast<iox2_node_cleanup_failure_e>(value);
2700
2701 switch (variant) {
2702 case iox2_node_cleanup_failure_e_INTERRUPT:
2704 case iox2_node_cleanup_failure_e_INTERNAL_ERROR:
2706 case iox2_node_cleanup_failure_e_INSUFFICIENT_PERMISSIONS:
2708 case iox2_node_cleanup_failure_e_VERSION_MISMATCH:
2710 case iox2_node_cleanup_failure_e_ANOTHER_INSTANCE_IS_CLEANING_UP_THE_NODE:
2712 case iox2_node_cleanup_failure_e_RESOURCES_ALREADY_CLEANED_UP:
2714 }
2715
2717}
2718
2719template <>
2720constexpr auto from<int, iox2::AttributeVerificationError>(const int value) noexcept
2722 const auto error = static_cast<iox2_attribute_verification_error_e>(value);
2723 switch (error) {
2724 case iox2_attribute_verification_error_e_NON_EXISTING_KEY:
2726 case iox2_attribute_verification_error_e_INCOMPATIBLE_ATTRIBUTE:
2728 }
2729
2731}
2732
2733template <>
2735 const auto error = static_cast<iox2_attribute_definition_error_e>(value);
2736 switch (error) {
2737 case iox2_attribute_definition_error_e_EXCEEDS_MAX_SUPPORTED_ATTRIBUTES:
2739 }
2740
2742}
2743
2744template <>
2745constexpr auto from<iox2_degradation_cause_e, iox2::DegradationCause>(const iox2_degradation_cause_e value) noexcept
2747 switch (value) {
2748 case iox2_degradation_cause_e_FAILED_TO_ESTABLISH_CONNECTION:
2750 case iox2_degradation_cause_e_CONNECTION_CORRUPTED:
2752 }
2753
2755}
2756
2757template <>
2759 -> iox2_degradation_action_e {
2760 switch (value) {
2762 return iox2_degradation_action_e_IGNORE;
2764 return iox2_degradation_action_e_WARN;
2766 return iox2_degradation_action_e_DEGRADE_AND_FAIL;
2767 }
2768
2770}
2771
2772template <>
2774 -> iox2_backpressure_action_e {
2775 switch (value) {
2777 return iox2_backpressure_action_e_FOLLOW_BACKPRESSUREY_STRATEGY;
2779 return iox2_backpressure_action_e_RETRY;
2781 return iox2_backpressure_action_e_DISCARD_DATA;
2783 return iox2_backpressure_action_e_DISCARD_DATA_AND_FAIL;
2784 }
2785
2787}
2788
2789template <>
2790constexpr auto
2791from<iox2_service_remove_error_e, iox2::ServiceRemoveError>(const iox2_service_remove_error_e value) noexcept
2793 switch (value) {
2794 case iox2_service_remove_error_e_INTERNAL_ERROR:
2796 case iox2_service_remove_error_e_INSUFFICIENT_PERMISSIONS:
2798 case iox2_service_remove_error_e_VERSION_MISMATCH:
2800 case iox2_service_remove_error_e_INTERRUPT:
2802 }
2803
2805}
2806
2807
2808} // namespace bb
2809} // namespace iox2
2810
2811#endif
#define IOX2_UNREACHABLE()
panic if control flow reaches this code at runtime
constexpr auto from< int, iox2::ListenerCreateError >(const int value) noexcept -> iox2::ListenerCreateError
auto from< iox2::WaitSetCreateError, const char * >(const iox2::WaitSetCreateError value) noexcept -> const char *
constexpr auto from< iox2::NodeWaitFailure, iox2_node_wait_failure_e >(const iox2::NodeWaitFailure value) noexcept -> iox2_node_wait_failure_e
auto from< iox2::PublishSubscribeCreateError, const char * >(const iox2::PublishSubscribeCreateError value) noexcept -> const char *
auto from< iox2::RequestResponseCreateError, const char * >(const iox2::RequestResponseCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::ConnectionFailure >(const int value) noexcept -> iox2::ConnectionFailure
auto from< iox2::NodeWaitFailure, const char * >(const iox2::NodeWaitFailure value) noexcept -> const char *
constexpr auto from< int, iox2::RequestResponseOpenOrCreateError >(const int value) noexcept -> iox2::RequestResponseOpenOrCreateError
constexpr auto from< int, iox2::WaitSetAttachmentError >(const int value) noexcept -> iox2::WaitSetAttachmentError
constexpr auto from< iox2::NodeCreationFailure, iox2_node_creation_failure_e >(const iox2::NodeCreationFailure value) noexcept -> iox2_node_creation_failure_e
auto from< iox2::PublishSubscribeOpenOrCreateError, const char * >(const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> const char *
constexpr auto from< iox2_service_remove_error_e, iox2::ServiceRemoveError >(const iox2_service_remove_error_e value) noexcept -> iox2::ServiceRemoveError
constexpr auto from< iox2::MessagingPattern, iox2_messaging_pattern_e >(const iox2::MessagingPattern value) noexcept -> iox2_messaging_pattern_e
constexpr auto from< int, iox2::NodeCreationFailure >(const int value) noexcept -> iox2::NodeCreationFailure
auto from< iox2::PublishSubscribeOpenError, const char * >(const iox2::PublishSubscribeOpenError value) noexcept -> const char *
auto from< iox2::ConnectionFailure, const char * >(const iox2::ConnectionFailure value) noexcept -> const char *
constexpr auto from< iox2::WriterCreateError, iox2_writer_create_error_e >(const iox2::WriterCreateError value) noexcept -> iox2_writer_create_error_e
constexpr auto from< iox2::WaitSetRunError, iox2_waitset_run_error_e >(const iox2::WaitSetRunError value) noexcept -> iox2_waitset_run_error_e
constexpr auto from< int, iox2::SubscriberCreateError >(const int value) noexcept -> iox2::SubscriberCreateError
constexpr auto from< iox2::CallbackProgression, iox2_callback_progression_e >(const iox2::CallbackProgression value) noexcept -> iox2_callback_progression_e
auto from< iox2::BlackboardCreateError, const char * >(const iox2::BlackboardCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::WaitSetRunError >(const int value) noexcept -> iox2::WaitSetRunError
constexpr auto from< iox2::PublishSubscribeOpenOrCreateError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< int, iox2::WaitSetCreateError >(const int value) noexcept -> iox2::WaitSetCreateError
auto from< iox2::EventCreateError, const char * >(const iox2::EventCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::ClientCreateError >(const int value) noexcept -> iox2::ClientCreateError
auto from< iox2::ReceiveError, const char * >(const iox2::ReceiveError value) noexcept -> const char *
constexpr auto from< int, iox2::EntryHandleMutError >(const int value) noexcept -> iox2::EntryHandleMutError
constexpr auto from< iox2::EntryHandleMutError, iox2_entry_handle_mut_error_e >(const iox2::EntryHandleMutError value) noexcept -> iox2_entry_handle_mut_error_e
auto from< iox2::EntryHandleMutError, const char * >(const iox2::EntryHandleMutError value) noexcept -> const char *
constexpr auto from< iox2::RequestResponseCreateError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseCreateError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::ConfigCreationError, iox2_config_creation_error_e >(const iox2::ConfigCreationError value) noexcept -> iox2_config_creation_error_e
auto from< iox2::WriterCreateError, const char * >(const iox2::WriterCreateError value) noexcept -> const char *
auto from< iox2::RequestSendError, const char * >(const iox2::RequestSendError value) noexcept -> const char *
constexpr auto from< int, iox2::AttributeDefinitionError >(const int value) noexcept -> iox2::AttributeDefinitionError
auto from< iox2::ListenerWaitError, const char * >(const iox2::ListenerWaitError value) noexcept -> const char *
constexpr auto from< iox2::BackpressureStrategy, int >(const iox2::BackpressureStrategy value) noexcept -> int
auto from< iox2::ServiceDetailsError, const char * >(const iox2::ServiceDetailsError value) noexcept -> const char *
constexpr auto from< iox2::RequestResponseOpenOrCreateError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseOpenOrCreateError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::BackpressureAction, iox2_backpressure_action_e >(const iox2::BackpressureAction value) noexcept -> iox2_backpressure_action_e
auto from< iox2::ListenerCreateError, const char * >(const iox2::ListenerCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::NodeWaitFailure >(const int value) noexcept -> iox2::NodeWaitFailure
constexpr auto from< int, iox2::EventOpenOrCreateError >(const int value) noexcept -> iox2::EventOpenOrCreateError
auto from< iox2::EventOpenError, const char * >(const iox2::EventOpenError value) noexcept -> const char *
constexpr auto from< iox2::EventCreateError, iox2_event_open_or_create_error_e >(const iox2::EventCreateError value) noexcept -> iox2_event_open_or_create_error_e
constexpr auto from< iox2::PublisherCreateError, iox2_publisher_create_error_e >(const iox2::PublisherCreateError value) noexcept -> iox2_publisher_create_error_e
constexpr auto from< int, iox2::ServiceDetailsError >(const int value) noexcept -> iox2::ServiceDetailsError
constexpr auto from< iox2::WaitSetCreateError, iox2_waitset_create_error_e >(const iox2::WaitSetCreateError value) noexcept -> iox2_waitset_create_error_e
constexpr auto from< iox2::ServiceType, iox2_service_type_e >(const iox2::ServiceType value) noexcept -> iox2_service_type_e
constexpr auto from< iox2::ServerCreateError, iox2_server_create_error_e >(const iox2::ServerCreateError value) noexcept -> iox2_server_create_error_e
constexpr auto from< int, iox2::EventCreateError >(const int value) noexcept -> iox2::EventCreateError
constexpr auto from< iox2::EventOpenOrCreateError, iox2_event_open_or_create_error_e >(const iox2::EventOpenOrCreateError value) noexcept -> iox2_event_open_or_create_error_e
auto from< iox2::BlackboardOpenError, const char * >(const iox2::BlackboardOpenError value) noexcept -> const char *
constexpr auto from< int, iox2::BlackboardCreateError >(const int value) noexcept -> iox2::BlackboardCreateError
auto from< iox2::RequestResponseOpenOrCreateError, const char * >(const iox2::RequestResponseOpenOrCreateError value) noexcept -> const char *
auto from< iox2::ServiceListError, const char * >(const iox2::ServiceListError value) noexcept -> const char *
constexpr auto from< iox2::ReceiveError, iox2_receive_error_e >(const iox2::ReceiveError value) noexcept -> iox2_receive_error_e
constexpr auto from< int, iox2::RequestResponseOpenError >(const int value) noexcept -> iox2::RequestResponseOpenError
constexpr auto from< iox2::WaitSetRunResult, iox2_waitset_run_result_e >(const iox2::WaitSetRunResult value) noexcept -> iox2_waitset_run_result_e
constexpr auto from< iox2::ServiceDetailsError, iox2_service_details_error_e >(const iox2::ServiceDetailsError value) noexcept -> iox2_service_details_error_e
constexpr auto from< iox2::RequestResponseOpenError, iox2_request_response_open_or_create_error_e >(const iox2::RequestResponseOpenError value) noexcept -> iox2_request_response_open_or_create_error_e
constexpr auto from< iox2::BlackboardCreateError, iox2_blackboard_create_error_e >(const iox2::BlackboardCreateError value) noexcept -> iox2_blackboard_create_error_e
constexpr auto from< int, iox2::NodeCleanupFailure >(const int value) noexcept -> iox2::NodeCleanupFailure
constexpr auto from< iox2::SendError, iox2_send_error_e >(const iox2::SendError value) noexcept -> iox2_send_error_e
constexpr auto from< iox2::ClientCreateError, iox2_client_create_error_e >(const iox2::ClientCreateError value) noexcept -> iox2_client_create_error_e
SemanticStringError
Defines errors which can occur when modifying or creating a SemanticString.
constexpr auto from< iox2::ListenerCreateError, iox2_listener_create_error_e >(const iox2::ListenerCreateError value) noexcept -> iox2_listener_create_error_e
auto from< iox2::RequestResponseOpenError, const char * >(const iox2::RequestResponseOpenError value) noexcept -> const char *
constexpr auto from< int, iox2::MessagingPattern >(const int value) noexcept -> iox2::MessagingPattern
constexpr auto from< int, iox2::EntryHandleError >(const int value) noexcept -> iox2::EntryHandleError
constexpr auto from< int, iox2::RequestSendError >(const int value) noexcept -> iox2::RequestSendError
auto from< iox2::ServerCreateError, const char * >(const iox2::ServerCreateError value) noexcept -> const char *
constexpr auto from< iox2::BlackboardOpenError, iox2_blackboard_open_error_e >(const iox2::BlackboardOpenError value) noexcept -> iox2_blackboard_open_error_e
constexpr auto from< iox2::LogLevel, iox2_log_level_e >(iox2::LogLevel value) noexcept -> iox2_log_level_e
constexpr auto from< int, iox2::PublishSubscribeOpenError >(const int value) noexcept -> iox2::PublishSubscribeOpenError
constexpr auto from< int, iox2::ServiceListError >(const int value) noexcept -> iox2::ServiceListError
constexpr auto from< int, iox2::LoanError >(const int value) noexcept -> iox2::LoanError
constexpr auto from< int, iox2::WriterCreateError >(const int value) noexcept -> iox2::WriterCreateError
constexpr auto from< iox2::DegradationAction, iox2_degradation_action_e >(const iox2::DegradationAction value) noexcept -> iox2_degradation_action_e
constexpr auto from< int, iox2::SendError >(const int value) noexcept -> iox2::SendError
auto from< iox2::NodeCreationFailure, const char * >(const iox2::NodeCreationFailure value) noexcept -> const char *
auto from< iox2::WaitSetRunError, const char * >(const iox2::WaitSetRunError value) noexcept -> const char *
constexpr auto from< int, iox2::WaitSetRunResult >(const int value) noexcept -> iox2::WaitSetRunResult
constexpr auto from< int, iox2::NodeListFailure >(const int value) noexcept -> iox2::NodeListFailure
constexpr auto from< int, iox2::CallbackProgression >(const int value) noexcept -> iox2::CallbackProgression
constexpr auto from< int, iox2::LogLevel >(int value) noexcept -> iox2::LogLevel
auto from< iox2::WaitSetAttachmentError, const char * >(const iox2::WaitSetAttachmentError value) noexcept -> const char *
constexpr auto from< int, iox2::NotifierNotifyError >(const int value) noexcept -> iox2::NotifierNotifyError
constexpr auto from< int, iox2::ReaderCreateError >(const int value) noexcept -> iox2::ReaderCreateError
auto from< iox2::LoanError, const char * >(const iox2::LoanError value) noexcept -> const char *
auto from< iox2::ReaderCreateError, const char * >(const iox2::ReaderCreateError value) noexcept -> const char *
auto from< iox2::EventOpenOrCreateError, const char * >(const iox2::EventOpenOrCreateError value) noexcept -> const char *
auto from< iox2::NodeListFailure, const char * >(const iox2::NodeListFailure value) noexcept -> const char *
constexpr auto from< iox2::ListenerWaitError, iox2_listener_wait_error_e >(const iox2::ListenerWaitError value) noexcept -> iox2_listener_wait_error_e
constexpr auto from< int, iox2::PublishSubscribeOpenOrCreateError >(const int value) noexcept -> iox2::PublishSubscribeOpenOrCreateError
constexpr auto from< int, iox2::ServerCreateError >(const int value) noexcept -> iox2::ServerCreateError
constexpr auto from< iox2::NodeListFailure, iox2_node_list_failure_e >(const iox2::NodeListFailure value) noexcept -> iox2_node_list_failure_e
constexpr auto from< int, iox2::ReceiveError >(const int value) noexcept -> iox2::ReceiveError
constexpr auto from< iox2::NotifierCreateError, iox2_notifier_create_error_e >(const iox2::NotifierCreateError value) noexcept -> iox2_notifier_create_error_e
constexpr auto from< iox2::EventOpenError, iox2_event_open_or_create_error_e >(const iox2::EventOpenError value) noexcept -> iox2_event_open_or_create_error_e
auto from< iox2::NotifierNotifyError, const char * >(const iox2::NotifierNotifyError value) noexcept -> const char *
constexpr auto from< int, iox2::NotifierCreateError >(const int value) noexcept -> iox2::NotifierCreateError
auto from< iox2::NotifierCreateError, const char * >(const iox2::NotifierCreateError value) noexcept -> const char *
constexpr auto from< iox2::EntryHandleError, iox2_entry_handle_error_e >(const iox2::EntryHandleError value) noexcept -> iox2_entry_handle_error_e
constexpr auto from< int, iox2::EventOpenError >(const int value) noexcept -> iox2::EventOpenError
auto from< iox2::SendError, const char * >(const iox2::SendError value) noexcept -> const char *
auto from< iox2::bb::SemanticStringError, const char * >(const iox2::bb::SemanticStringError value) noexcept -> const char *
constexpr auto from< int, iox2::AttributeVerificationError >(const int value) noexcept -> iox2::AttributeVerificationError
constexpr auto from< iox2_degradation_cause_e, iox2::DegradationCause >(const iox2_degradation_cause_e value) noexcept -> iox2::DegradationCause
constexpr auto from< int, iox2::SignalHandlingMode >(const int value) noexcept -> iox2::SignalHandlingMode
constexpr auto from< int, iox2::ServiceType >(const int value) noexcept -> iox2::ServiceType
constexpr auto from< int, iox2::BackpressureStrategy >(const int value) noexcept -> iox2::BackpressureStrategy
constexpr auto from< int, iox2::RequestResponseCreateError >(const int value) noexcept -> iox2::RequestResponseCreateError
auto from< iox2::ConfigCreationError, const char * >(const iox2::ConfigCreationError value) noexcept -> const char *
constexpr auto from< int, iox2::BlackboardOpenError >(const int value) noexcept -> iox2::BlackboardOpenError
auto from< iox2::SubscriberCreateError, const char * >(const iox2::SubscriberCreateError value) noexcept -> const char *
auto from< iox2::ClientCreateError, const char * >(const iox2::ClientCreateError value) noexcept -> const char *
constexpr auto from< int, iox2::PublisherCreateError >(const int value) noexcept -> iox2::PublisherCreateError
constexpr auto from< iox2::RequestSendError, iox2_request_send_error_e >(const iox2::RequestSendError value) noexcept -> iox2_request_send_error_e
constexpr auto from< int, iox2::ListenerWaitError >(const int value) noexcept -> iox2::ListenerWaitError
constexpr auto from< iox2::AllocationStrategy, iox2_allocation_strategy_e >(const iox2::AllocationStrategy value) noexcept -> iox2_allocation_strategy_e
auto from< iox2::PublisherCreateError, const char * >(const iox2::PublisherCreateError value) noexcept -> const char *
constexpr auto from< iox2::SubscriberCreateError, iox2_subscriber_create_error_e >(const iox2::SubscriberCreateError value) noexcept -> iox2_subscriber_create_error_e
constexpr auto from< iox2::ServiceListError, iox2_service_list_error_e >(const iox2::ServiceListError value) noexcept -> iox2_service_list_error_e
constexpr auto from< int, iox2::ConfigCreationError >(const int value) noexcept -> iox2::ConfigCreationError
constexpr auto from< int, iox2::PublishSubscribeCreateError >(const int value) noexcept -> iox2::PublishSubscribeCreateError
constexpr auto from< iox2::WaitSetAttachmentError, iox2_waitset_attachment_error_e >(const iox2::WaitSetAttachmentError value) noexcept -> iox2_waitset_attachment_error_e
constexpr auto from< iox2::ReaderCreateError, iox2_reader_create_error_e >(const iox2::ReaderCreateError value) noexcept -> iox2_reader_create_error_e
constexpr auto from< iox2::LoanError, iox2_loan_error_e >(const iox2::LoanError value) noexcept -> iox2_loan_error_e
constexpr auto from< iox2::PublishSubscribeCreateError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< iox2::ConnectionFailure, iox2_connection_failure_e >(const iox2::ConnectionFailure value) noexcept -> iox2_connection_failure_e
constexpr auto from< int, iox2::TypeVariant >(const int value) noexcept -> iox2::TypeVariant
auto from< iox2::EntryHandleError, const char * >(const iox2::EntryHandleError value) noexcept -> const char *
constexpr auto from< iox2::NotifierNotifyError, iox2_notifier_notify_error_e >(const iox2::NotifierNotifyError value) noexcept -> iox2_notifier_notify_error_e
constexpr auto from< int, iox2::bb::SemanticStringError >(const int value) noexcept -> iox2::bb::SemanticStringError
constexpr auto from< iox2::PublishSubscribeOpenError, iox2_pub_sub_open_or_create_error_e >(const iox2::PublishSubscribeOpenError value) noexcept -> iox2_pub_sub_open_or_create_error_e
constexpr auto from< iox2::bb::SemanticStringError, iox2_semantic_string_error_e >(const iox2::bb::SemanticStringError value) noexcept -> iox2_semantic_string_error_e
constexpr auto from< iox2::SignalHandlingMode, iox2_signal_handling_mode_e >(const iox2::SignalHandlingMode value) noexcept -> iox2_signal_handling_mode_e
WaitSetRunResult
States why the [WaitSet::run()] method returned.
@ StopRequest
The users callback returned [CallbackProgression::Stop].
@ Interrupt
An interrupt signal SIGINT was received.
@ AllEventsHandled
All events were handled.
@ TerminationRequest
A termination signal SIGTERM was received.
NotifierNotifyError
Defines the failures that can occur while a [Notifier::notify()] call.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ DiscardData
Do not deliver the data to receiver with a full buffer.
SendError
Failure that can be emitted when data is sent.
@ ConnectionError
A failure occurred while establishing a connection to the ports counterpart port.
@ LoanErrorOutOfMemory
The data segment does not have any more memory left.
@ ConnectionBrokenSinceSenderNoLongerExists
Send was called but the corresponding port went already out of scope.
@ LoanErrorInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ InternalError
An internal mechanisms failed and the data could not be delivered to all receivers.
@ UnableToDeliver
The sample could not be delivered.
@ ConnectionCorrupted
A connection between two ports has been corrupted.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
EntryHandleError
Defines a failure that can occur when a [EntryHandle] is created with [Reader::entry()].
@ EntryDoesNotExist
The entry with the given key and value type does not exist.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ DoesNotSupportRequestedAmountOfClients
The [Service] has a lower maximum number of clients than requested.
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ Interrupt
An interrupt signal was raised.
@ DoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse
The [Service] has a lower maximum number of [Response] borrows than requested.
@ DoesNotSupportRequestedResponseBufferSize
The [Service] has a lower maximum response buffer size than requested.
@ IncompatibleOverflowBehaviorForRequests
The [Service] required overflow behavior for requests is not compatible.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ IncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ IncompatibleOverflowBehaviorForResponses
The [Service] required overflow behavior for responses is not compatible.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ DoesNotSupportRequestedAmountOfServers
The [Service] has a lower maximum number of servers than requested.
@ IncompatibleBehaviorForFireAndForgetRequests
The [Service] does not support the required behavior for fire and forget requests.
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ DoesNotSupportRequestedAmountOfNodes
The [Service] has a lower maximum number of nodes than requested.
@ DoesNotExist
Service could not be openen since it does not exist.
@ ExceedsMaxNumberOfNodes
The maximum number of [Node]s have already opened the [Service].
@ Disabled
No signal handler will be registered.
BlackboardOpenError
Errors that can occur when an existing [MessagingPattern::Blackboard] [Service] shall be opened.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ Interrupt
An interrupt signal was raised.
@ DoesNotSupportRequestedAmountOfReaders
The [Service] supports less [Reader](crate::port::reader::Reader)s than requested.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ IncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ IncompatibleKeys
The [Service] has the wrong key type.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ DoesNotSupportRequestedAmountOfNodes
The [Service] supports less [Node](crate::node::Node)s than requested.
@ DoesNotExist
The [Service] could not be opened since it does not exist.
@ ExceedsMaxNumberOfNodes
The maximum number of [Node](crate::node::Node)s have already opened the [Service].
@ ServiceInInconsistentState
Required [Service] resources are not available or corrupted.
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The [Service] was created with a different iceoryx2 version.
@ InsufficientPermissions
The process does not have the permissions to acquire the service details.
@ FailedToReadStaticServiceInfo
The underlying static [Service] information could not be read.
@ FailedToAcquireNodeState
The [NodeState] could not be acquired.
@ FailedToOpenStaticServiceInfo
The underlying static [Service] information could not be opened.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenIncompatibleTypes
The [Service] has the wrong payload type.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ OpenIncompatibleOverflowBehavior
The [Service] required overflow behavior is not compatible.
@ CreateAlreadyExists
The [Service] already exists.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenDoesNotSupportRequestedMinBufferSize
The [Service] has a lower minimum buffer size than requested.
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ OpenDoesNotExist
Service could not be openen since it does not exist.
@ OpenDoesNotSupportRequestedMinHistorySize
The [Service] has a lower minimum history size than requested.
WriterCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
ServerCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToCreateDataSegment
The datasegment in which the payload of the [Server] is stored, could not be created.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenIncompatibleDeadline
The [Service]s deadline settings are not equal the the user given requirements.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ CreateAlreadyExists
The [Service] already exists.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ OpenDoesNotExist
The [Service] does not exist.
@ Static
The memory is not increased. This may lead to an out-of-memory error when allocating.
PublishSubscribeCreateError
Errors that can occur when a new [MessagingPattern::PublishSubscribe] [Service] shall be created.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OutOfMemory
The data segment does not have any more memory left.
@ Warn
Print out a warning as soon as the degradation is detected.
@ DegradeAndFail
Returns a failure in the function the degradation was detected.
@ Ignore
Ignore the degradation completely.
@ ContractViolation
The notification payload did not satisfy the underlying contract.
@ InterruptSignal
An interrupt signal was raised while waiting for a notification.
ClientCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
@ UnableToCreateDataSegment
The datasegment in which the payload of the [Client] is stored, could not be created.
@ MaxActiveRequestsExceedsMaxSupportedActiveRequestsOfService
BackpressureAction
Defines the action that shall be take when data cannot be delivered.
@ Retry
Retry to send and invoke the handler again, if sending does not succeed.
@ FollowBackpressureyStrategy
Use an action which is derived from the BackpressureStrategy
EventCreateError
Failures that can occur when a new [MessagingPattern::Event] [Service] shall be created.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ FailedToEstablishConnection
Occurs when a receiver is unable to connect to a corresponding sender.
@ UnableToMapSendersDataSegment
Failures when mapping the corresponding data segment.
@ FailedToEstablishConnection
Failures when creating the connection.
@ UnableToMapSendersDataSegment
Failures when mapping the corresponding data segment.
WaitSetRunError
Defines the failures that can occur when calling [WaitSet::run()].
@ NoAttachments
Waiting on an empty [WaitSet] would lead to a deadlock therefore it causes an error.
@ Interrupt
An interrupt signal SIGINT was received.
@ InsufficientPermissions
The process has not sufficient permissions to wait on the attachments.
@ TerminationRequest
A termination signal SIGTERM was received.
@ InternalError
An internal error has occurred.
AttributeDefinitionError
Failures that can occur when defining [Attribute]s with [AttributeSpecifier::define()].
@ ExceedsMaxSupportedAttributes
The new [Attribute] would exceed the maximum supported number of [Attribute]s.
@ Local
Optimized for inter-thread communication does not support inter-process communication.
@ Ipc
Optimized for inter-process communication.
EventOpenError
Failures that can occur when an existing [MessagingPattern::Event] [Service] shall be opened.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ DoesNotSupportRequestedAmountOfNotifiers
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ DoesNotSupportRequestedAmountOfListeners
@ DoesNotExist
The [Service] does not exist.
@ IncompatibleDeadline
The [Service]s deadline settings are not equal the the user given requirements.
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
WaitSetCreateError
Defines the failures that can occur when calling [WaitSetBuilder::create()].
@ InsufficientResources
Insufficient resources to create a [WaitSet].
@ InternalError
An internal error has occurred.
ReaderCreateError
@ UnableToCreatePortTag
The tracking port tag, required for cleanup, could not be created.
RequestResponseCreateError
Errors that can occur when a new [MessagingPattern::RequestResponse] [Service] shall be created.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ Interrupt
The process received an interrupt signal while cleaning up all stale resources of a dead [Node].
@ VersionMismatch
Trying to cleanup resources from a [Node] node which was using a different iceoryx2 version.
@ ResourcesAlreadyCleanedUp
Another instance has successfully cleaned up all resources.
@ InternalError
Errors that indicate either an implementation issue or a wrongly configured system.
@ AnotherInstanceIsCleaningUpTheNode
Another instance has acquired the ownership of all resources and is currently cleaning up.
@ CreateUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ OpenDoesNotSupportRequestedAmountOfServers
The [Service] has a lower maximum number of servers than requested.
@ OpenIncompatibleOverflowBehaviorForRequests
The [Service] required overflow behavior for requests is not compatible.
@ OpenIncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ OpenIncompatibleOverflowBehaviorForResponses
The [Service] required overflow behavior for responses is not compatible.
@ OpenServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ CreateInterrupt
An interrupt signal was raised.
@ OpenInterrupt
An interrupt signal was raised.
@ CreateIsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ OpenDoesNotSupportRequestedAmountOfNodes
The [Service] has a lower maximum number of nodes than requested.
@ CreateAlreadyExists
The [Service] already exists.
@ OpenDoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse
The [Service] has a lower maximum number of [Response] borrows than requested.
@ OpenIncompatibleBehaviorForFireAndForgetRequests
The [Service] does not support the required behavior for fire and forget requests.
@ OpenInsufficientPermissions
The process has not enough permissions to open the [Service].
@ OpenDoesNotSupportRequestedAmountOfClients
The [Service] has a lower maximum number of clients than requested.
@ OpenUnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ CreateServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ CreateInsufficientPermissions
The process has insufficient permissions to create the [Service].
@ CreateInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OpenVersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ OpenIncompatibleAttributes
The [AttributeVerifier] required attributes that the [Service] does not satisfy.
@ CreateServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ OpenInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ OpenExceedsMaxNumberOfNodes
The maximum number of [Node]s have already opened the [Service].
@ OpenDoesNotSupportRequestedResponseBufferSize
The [Service] has a lower maximum response buffer size than requested.
@ OpenDoesNotExist
Service could not be openen since it does not exist.
BlackboardCreateError
Errors that can occur when a new [MessagingPattern::Blackboard] [Service] shall be created.
@ NoEntriesProvided
No key-value pairs have been provided. At least one is required.
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ ServiceInCorruptedState
Some underlying resources of the [Service] are either missing, corrupted or unaccessible.
@ Interrupt
An interrupt signal was raised.
@ IsBeingCreatedByAnotherInstance
Multiple processes are trying to create the same [Service].
@ InsufficientPermissions
The process has insufficient permissions to create the [Service].
@ AlreadyExists
The [Service] already exists.
@ ServiceConfigCouldNotBeCreated
The [Service]s config could not be created and written to the static service configuration.
@ InternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
NodeCreationFailure
All failures that can occur in [NodeBuilder::create()].
@ SystemCorrupted
Indicates that another "instance" on the system removed the resource required by the [Node].
@ InsufficientPermissions
The process has insufficient permissions.
@ InsufficientPermissions
The process has insufficient permissions to list all [Service]s.
AttributeVerificationError
Failures that can occur when the [AttributeVerifier] fails the verification.
@ IncompatibleAttribute
A key defined via [AttributeVerifier::require()] has the wrong value.
@ NonExistingKey
A key defined via [AttributeVerifier::require_key()] is missing.
@ FixedSize
A fixed size type like [u64].
@ Dynamic
A dynamic sized type like a slice.
PublishSubscribeOpenError
Errors that can occur when an existing [MessagingPattern::PublishSubscribe] [Service] shall be opened...
@ UnableToCreateServiceTag
The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning ...
@ DoesNotSupportRequestedMinBufferSize
The [Service] has a lower minimum buffer size than requested.
@ Interrupt
An interrupt signal was raised.
@ VersionMismatch
The iceoryx2 service version does not match the one of the [Service].
@ DoesNotSupportRequestedMinHistorySize
The [Service] has a lower minimum history size than requested.
@ InsufficientPermissions
The process has not enough permissions to open the [Service].
@ IncompatibleTypes
The [Service] has the wrong payload type.
@ IncompatibleMessagingPattern
The [Service] has the wrong messaging pattern.
@ DoesNotExist
Service could not be openen since it does not exist.
@ IncompatibleOverflowBehavior
The [Service] required overflow behavior is not compatible.
NodeListFailure
All failures that can occur in [Node::list()].
@ Interrupt
A SIGINT signal was received.
@ InsufficientPermissions
The process has insufficient permissions.
NodeWaitFailure
Defines all possible errors that can occur during [Node::wait()].
@ Interrupt
SIGINT signal was received.
@ TerminationRequest
SIGTERM signal was received.
ServiceRemoveError
Error that can be reported when removing a [Node](crate::node::Node).
@ Interrupt
An interrupt signal was received.
@ InsufficientPermissions
The process does not have the permissions to remove the service.
@ InternalError
Errors that indicate either an implementation issue or a wrongly configured system.
WaitSetAttachmentError
@ InsufficientResources
Insufficient resources to add another attachment to the [WaitSet].
@ InsufficientCapacity
The [WaitSet]s capacity is exceeded.
@ AlreadyAttached
The attachment is already attached.
@ InternalError
An internal error has occurred.
DegradationCause
Defines the cause of a degradation and is a parameter of the [DegradationHandler].
@ ConnectionCorrupted
Connection is corrupted.
@ FailedToEstablishConnection
Connection could not be established.
RequestSendError
Failure that can be emitted when a [RequestMut] is sent.
@ ConnectionError
A failure occurred while establishing a connection to the ports counterpart port.
@ LoanErrorOutOfMemory
The data segment does not have any more memory left.
@ ConnectionBrokenSinceSenderNoLongerExists
Send was called but the corresponding port went already out of scope.
@ LoanErrorInternalFailure
Errors that indicate either an implementation issue or a wrongly configured system.
@ InternalError
An internal mechanisms failed and the data could not be delivered to all receivers.
@ UnableToDeliver
The request could not be delivered.
@ ConnectionCorrupted
A connection between two ports has been corrupted.
ConfigCreationError
Failures occurring while creating a new [Config] object with [Config::from_file()].
@ ConfigFileDoesNotExist
The provided config file does not exist.
@ InsufficientPermissions
Insufficient permissions to open the config file.
@ FailedToReadConfigFileContents
The config file could not be read.
@ UnableToDeserializeContents
Parts of the config file could not be deserialized. Indicates some kind of syntax error.
@ UnableToOpenConfigFile
The config file could not be opened due to an internal error.
EntryHandleMutError
Defines a failure that can occur when a [EntryHandleMut] is created with [Writer::entry()].
@ EntryDoesNotExist
The entry with the given key and value type does not exist.
@ HandleAlreadyExists
The [EntryHandleMut] already exists.