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 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
746
747 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
749 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
751 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
753 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
755 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
757 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
759 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
761 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
763 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
765 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
767 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
769
770 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
772 }
773
775}
776
777template <>
779 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
780 switch (error) {
781 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
783 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
785 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
787 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
789 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
791 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
793 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
795 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
797 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
799 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
801 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
803 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
805 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
807 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
809 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
811 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
813 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
815 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
817 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
819 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
821 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
823
824 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
825 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
827 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
829 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
831 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
833 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
835 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
837 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
839 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
841 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
843 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
845 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
847 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
849
850 // NOLINTEND(bugprone-branch-clone)
851 }
853}
854
855template <>
857 const iox2::PublishSubscribeOpenError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
858 switch (value) {
860 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
862 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
864 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
866 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
868 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
870 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
872 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
874 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
876 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
878 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
880 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
882 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
884 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
886 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
888 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
890 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
892 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
894 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
896 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
898 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
900 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
901 }
902
904}
905
906template <>
908 -> const char* {
909 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
910}
911
912template <>
913constexpr auto from<int, iox2::PublishSubscribeCreateError>(const int value) noexcept
915 const auto error = static_cast<iox2_pub_sub_open_or_create_error_e>(value);
916 switch (error) {
917 case iox2_pub_sub_open_or_create_error_e_C_INTERRUPT:
919 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
921 case iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE:
923 case iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS:
925 case iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
927 case iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE:
929 case iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
931 case iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION:
933 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
935 case iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
937 case iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
939
940 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
941 case iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX:
943 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST:
945 case iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE:
947 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES:
949 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
951 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
953 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE:
955 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE:
957 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES:
959 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS:
961 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS:
963 case iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
965 case iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR:
967 case iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
969 case iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
971 case iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION:
973 case iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
975 case iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
977 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
979 case iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH:
981 case iox2_pub_sub_open_or_create_error_e_O_INTERRUPT:
983 case iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
985 // NOLINTEND(bugprone-branch-clone)
986 }
988}
989
990template <>
992 const iox2::PublishSubscribeCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
993 switch (value) {
995 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
997 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
999 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
1001 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
1003 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1005 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
1007 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1009 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
1011 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1013 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1015 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1016 }
1017
1019}
1020
1021template <>
1023 -> const char* {
1024 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1025}
1026
1027template <>
1029 const iox2::PublishSubscribeOpenOrCreateError value) noexcept -> iox2_pub_sub_open_or_create_error_e {
1030 switch (value) {
1032 return iox2_pub_sub_open_or_create_error_e_O_INTERRUPT;
1034 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_EXIST;
1036 return iox2_pub_sub_open_or_create_error_e_O_INTERNAL_FAILURE;
1038 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_TYPES;
1040 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1042 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1044 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_BUFFER_SIZE;
1046 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_HISTORY_SIZE;
1048 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_MIN_SUBSCRIBER_BORROWED_SAMPLES;
1050 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_PUBLISHERS;
1052 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SUBSCRIBERS;
1054 return iox2_pub_sub_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1056 return iox2_pub_sub_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR;
1058 return iox2_pub_sub_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1060 return iox2_pub_sub_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1062 return iox2_pub_sub_open_or_create_error_e_O_HANGS_IN_CREATION;
1064 return iox2_pub_sub_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1066 return iox2_pub_sub_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1068 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1070 return iox2_pub_sub_open_or_create_error_e_O_VERSION_MISMATCH;
1072 return iox2_pub_sub_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1073
1075 return iox2_pub_sub_open_or_create_error_e_SYSTEM_IN_FLUX;
1076
1078 return iox2_pub_sub_open_or_create_error_e_C_INTERRUPT;
1080 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1082 return iox2_pub_sub_open_or_create_error_e_C_SUBSCRIBER_BUFFER_MUST_BE_LARGER_THAN_HISTORY_SIZE;
1084 return iox2_pub_sub_open_or_create_error_e_C_ALREADY_EXISTS;
1086 return iox2_pub_sub_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1088 return iox2_pub_sub_open_or_create_error_e_C_INTERNAL_FAILURE;
1090 return iox2_pub_sub_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1092 return iox2_pub_sub_open_or_create_error_e_C_HANGS_IN_CREATION;
1094 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1096 return iox2_pub_sub_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1098 return iox2_pub_sub_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1099 }
1100
1102}
1103
1104template <>
1105inline auto
1107 -> const char* {
1108 return iox2_pub_sub_open_or_create_error_string(iox2::bb::into<iox2_pub_sub_open_or_create_error_e>(value));
1109}
1110
1111template <>
1112constexpr auto from<int, iox2::RequestResponseCreateError>(const int value) noexcept
1114 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1115 switch (error) {
1116 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1118 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1120 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1122 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1124 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1126 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1128 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1130 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1132 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1134 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1136
1137 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1138 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1140 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1142 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1144 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1146 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1148 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1150 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1152 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1154 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1156 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1158 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1160 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1162 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1164 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1166 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1168 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1170 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1172 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1174 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1176 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1178 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1180 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1182 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1184 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1186 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1188
1189 // NOLINTEND(bugprone-branch-clone)
1190 }
1192}
1193
1194template <>
1196 const iox2::RequestResponseCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1197 switch (value) {
1199 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1201 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1203 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1205 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1207 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1209 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1211 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1213 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1215 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1217 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1218 }
1219
1221}
1222
1223template <>
1225 -> const char* {
1226 return iox2_request_response_open_or_create_error_string(
1227 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1228}
1229
1230template <>
1232 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1233 switch (error) {
1234 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1236 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1238 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1240 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1242 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1244 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1246 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1248 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1250 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1252 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1254 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1256 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1258 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1260 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1262 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1264 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1266 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1268 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1270 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1272 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1274 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1276 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1278 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1280 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1282
1283 // NOLINTBEGIN(bugprone-branch-clone) ignored so that enum changes are detected as a compiler warning and not cause a panic with IOX2_UNREACHABLE
1284 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1286 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1288 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1290 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1292 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1294 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1296 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1298 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1300 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1302 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1304 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1306 // NOLINTEND(bugprone-branch-clone)
1307 }
1309}
1310
1311template <>
1313 const iox2::RequestResponseOpenError value) noexcept -> iox2_request_response_open_or_create_error_e {
1314 switch (value) {
1316 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1318 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1320 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1322 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1324 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1326 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1328 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1330 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1332 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1334 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1336 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1338 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1340 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1342 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1344 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1346 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1348 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1350 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1352 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1354 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1356 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1358 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1360 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1362 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1363 }
1364
1366}
1367
1368template <>
1370 -> const char* {
1371 return iox2_request_response_open_or_create_error_string(
1372 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1373}
1374
1375template <>
1376constexpr auto from<int, iox2::RequestResponseOpenOrCreateError>(const int value) noexcept
1378 const auto error = static_cast<iox2_request_response_open_or_create_error_e>(value);
1379 switch (error) {
1380 case iox2_request_response_open_or_create_error_e_O_INTERRUPT:
1382 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST:
1384 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS:
1386 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT:
1388 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE:
1390 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS:
1392 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS:
1394 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1396 case iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE:
1399 case iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1401 case iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION:
1403 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE:
1405 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1407 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1409 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS:
1411 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES:
1413 case iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS:
1415 case iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS:
1417 case iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE:
1419 case iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1421 case iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1423 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1425 case iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH:
1427 case iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1429
1430 case iox2_request_response_open_or_create_error_e_C_INTERRUPT:
1432 case iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS:
1434 case iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE:
1436 case iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1438 case iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1440 case iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION:
1442 case iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1444 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1446 case iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1448 case iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION:
1450
1451 case iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX:
1453 }
1454
1456}
1457
1458template <>
1460 const iox2::RequestResponseOpenOrCreateError value) noexcept -> iox2_request_response_open_or_create_error_e {
1461 switch (value) {
1463 return iox2_request_response_open_or_create_error_e_O_INTERRUPT;
1465 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_EXIST;
1467 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENT_REQUEST_LOANS;
1469 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_ACTIVE_REQUESTS_PER_CLIENT;
1471 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_RESPONSE_BUFFER_SIZE;
1473 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_SERVERS;
1475 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_CLIENTS;
1477 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1479 return iox2_request_response_open_or_create_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_BORROWED_RESPONSES_PER_PENDING_RESPONSE;
1481 return iox2_request_response_open_or_create_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1483 return iox2_request_response_open_or_create_error_e_O_HANGS_IN_CREATION;
1485 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_REQUEST_OR_RESPONSE_TYPE;
1487 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1489 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1491 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_REQUESTS;
1493 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_OVERFLOW_BEHAVIOR_FOR_RESPONSES;
1495 return iox2_request_response_open_or_create_error_e_O_INCOMPATIBLE_BEHAVIOR_FOR_FIRE_AND_FORGET_REQUESTS;
1497 return iox2_request_response_open_or_create_error_e_O_INSUFFICIENT_PERMISSIONS;
1499 return iox2_request_response_open_or_create_error_e_O_INTERNAL_FAILURE;
1501 return iox2_request_response_open_or_create_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1503 return iox2_request_response_open_or_create_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1505 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1507 return iox2_request_response_open_or_create_error_e_O_VERSION_MISMATCH;
1509 return iox2_request_response_open_or_create_error_e_O_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1510
1512 return iox2_request_response_open_or_create_error_e_C_INTERRUPT;
1514 return iox2_request_response_open_or_create_error_e_C_ALREADY_EXISTS;
1516 return iox2_request_response_open_or_create_error_e_C_INTERNAL_FAILURE;
1518 return iox2_request_response_open_or_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1520 return iox2_request_response_open_or_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1522 return iox2_request_response_open_or_create_error_e_C_HANGS_IN_CREATION;
1524 return iox2_request_response_open_or_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1526 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1528 return iox2_request_response_open_or_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1530 return iox2_request_response_open_or_create_error_e_C_UNABLE_TO_ACQUIRE_TYPE_DEFINITION;
1531
1532
1534 return iox2_request_response_open_or_create_error_e_SYSTEM_IN_FLUX;
1535 }
1536
1538}
1539
1540template <>
1541inline auto
1543 -> const char* {
1544 return iox2_request_response_open_or_create_error_string(
1545 iox2::bb::into<iox2_request_response_open_or_create_error_e>(value));
1546}
1547
1548template <>
1549constexpr auto from<int, iox2::BlackboardCreateError>(const int value) noexcept -> iox2::BlackboardCreateError {
1550 const auto error = static_cast<iox2_blackboard_create_error_e>(value);
1551 switch (error) {
1552 case iox2_blackboard_create_error_e_C_INTERRUPT:
1554 case iox2_blackboard_create_error_e_C_ALREADY_EXISTS:
1556 case iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE:
1558 case iox2_blackboard_create_error_e_C_INTERNAL_FAILURE:
1560 case iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS:
1562 case iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE:
1564 case iox2_blackboard_create_error_e_C_HANGS_IN_CREATION:
1566 case iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED:
1568 case iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG:
1570 case iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED:
1572 }
1573
1575}
1576
1577template <>
1578constexpr auto
1580 -> iox2_blackboard_create_error_e {
1581 switch (value) {
1583 return iox2_blackboard_create_error_e_C_INTERRUPT;
1585 return iox2_blackboard_create_error_e_C_ALREADY_EXISTS;
1587 return iox2_blackboard_create_error_e_C_IS_BEING_CREATED_BY_ANOTHER_INSTANCE;
1589 return iox2_blackboard_create_error_e_C_INTERNAL_FAILURE;
1591 return iox2_blackboard_create_error_e_C_INSUFFICIENT_PERMISSIONS;
1593 return iox2_blackboard_create_error_e_C_SERVICE_IN_CORRUPTED_STATE;
1595 return iox2_blackboard_create_error_e_C_HANGS_IN_CREATION;
1597 return iox2_blackboard_create_error_e_C_NO_ENTRIES_PROVIDED;
1599 return iox2_blackboard_create_error_e_C_UNABLE_TO_CREATE_SERVICE_TAG;
1601 return iox2_blackboard_create_error_e_C_SERVICE_CONFIG_COULD_NOT_BE_CREATED;
1602 }
1603
1605}
1606
1607template <>
1609 char* {
1610 return iox2_blackboard_create_error_string(iox2::bb::into<iox2_blackboard_create_error_e>(value));
1611}
1612
1613template <>
1614constexpr auto from<int, iox2::BlackboardOpenError>(const int value) noexcept -> iox2::BlackboardOpenError {
1615 const auto error = static_cast<iox2_blackboard_open_error_e>(value);
1616 switch (error) {
1617 case iox2_blackboard_open_error_e_O_INTERRUPT:
1619 case iox2_blackboard_open_error_e_O_DOES_NOT_EXIST:
1621 case iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE:
1623 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS:
1625 case iox2_blackboard_open_error_e_O_INTERNAL_FAILURE:
1627 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES:
1629 case iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN:
1631 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS:
1633 case iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS:
1635 case iox2_blackboard_open_error_e_O_HANGS_IN_CREATION:
1637 case iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION:
1639 case iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES:
1641 case iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES:
1643 case iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG:
1645 case iox2_blackboard_open_error_e_O_VERSION_MISMATCH:
1647 }
1648
1650}
1651
1652template <>
1653constexpr auto
1655 -> iox2_blackboard_open_error_e {
1656 switch (value) {
1658 return iox2_blackboard_open_error_e_O_INTERRUPT;
1660 return iox2_blackboard_open_error_e_O_DOES_NOT_EXIST;
1662 return iox2_blackboard_open_error_e_O_SERVICE_IN_CORRUPTED_STATE;
1664 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_KEYS;
1666 return iox2_blackboard_open_error_e_O_INTERNAL_FAILURE;
1668 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_ATTRIBUTES;
1670 return iox2_blackboard_open_error_e_O_INCOMPATIBLE_MESSAGING_PATTERN;
1672 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_READERS;
1674 return iox2_blackboard_open_error_e_O_INSUFFICIENT_PERMISSIONS;
1676 return iox2_blackboard_open_error_e_O_HANGS_IN_CREATION;
1678 return iox2_blackboard_open_error_e_O_IS_MARKED_FOR_DESTRUCTION;
1680 return iox2_blackboard_open_error_e_O_EXCEEDS_MAX_NUMBER_OF_NODES;
1682 return iox2_blackboard_open_error_e_O_DOES_NOT_SUPPORT_REQUESTED_AMOUNT_OF_NODES;
1684 return iox2_blackboard_open_error_e_O_UNABLE_TO_CREATE_SERVICE_TAG;
1686 return iox2_blackboard_open_error_e_O_VERSION_MISMATCH;
1687 }
1688
1690}
1691
1692template <>
1694 char* {
1695 return iox2_blackboard_open_error_string(iox2::bb::into<iox2_blackboard_open_error_e>(value));
1696}
1697
1698template <>
1699constexpr auto from<int, iox2::WriterCreateError>(const int value) noexcept -> iox2::WriterCreateError {
1700 const auto error = static_cast<iox2_writer_create_error_e>(value);
1701 switch (error) {
1702 case iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS:
1704 case iox2_writer_create_error_e_INTERNAL_FAILURE:
1706 case iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1708 case iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1710 }
1711
1713}
1714
1715template <>
1717 -> iox2_writer_create_error_e {
1718 switch (value) {
1720 return iox2_writer_create_error_e_EXCEEDS_MAX_SUPPORTED_WRITERS;
1722 return iox2_writer_create_error_e_INTERNAL_FAILURE;
1724 return iox2_writer_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1726 return iox2_writer_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1727 }
1728
1730}
1731
1732template <>
1733inline auto from<iox2::WriterCreateError, const char*>(const iox2::WriterCreateError value) noexcept -> const char* {
1734 return iox2_writer_create_error_string(iox2::bb::into<iox2_writer_create_error_e>(value));
1735}
1736
1737template <>
1738constexpr auto from<int, iox2::EntryHandleMutError>(const int value) noexcept -> iox2::EntryHandleMutError {
1739 const auto error = static_cast<iox2_entry_handle_mut_error_e>(value);
1740 switch (error) {
1741 case iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST:
1743 case iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS:
1745 }
1746
1748}
1749
1750template <>
1751constexpr auto
1753 -> iox2_entry_handle_mut_error_e {
1754 switch (value) {
1756 return iox2_entry_handle_mut_error_e_ENTRY_DOES_NOT_EXIST;
1758 return iox2_entry_handle_mut_error_e_HANDLE_ALREADY_EXISTS;
1759 }
1760
1762}
1763
1764template <>
1766 char* {
1767 return iox2_entry_handle_mut_error_string(iox2::bb::into<iox2_entry_handle_mut_error_e>(value));
1768}
1769
1770template <>
1771constexpr auto from<int, iox2::ReaderCreateError>(const int value) noexcept -> iox2::ReaderCreateError {
1772 const auto error = static_cast<iox2_reader_create_error_e>(value);
1773 switch (error) {
1774 case iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS:
1776 case iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY:
1778 case iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1780 }
1781
1783}
1784
1785template <>
1787 -> iox2_reader_create_error_e {
1788 switch (value) {
1790 return iox2_reader_create_error_e_EXCEEDS_MAX_SUPPORTED_READERS;
1792 return iox2_reader_create_error_e_FAILED_TO_DEPLOY_THREADSAFETY_POLICY;
1794 return iox2_reader_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1795 }
1796
1798}
1799
1800template <>
1801inline auto from<iox2::ReaderCreateError, const char*>(const iox2::ReaderCreateError value) noexcept -> const char* {
1802 return iox2_reader_create_error_string(iox2::bb::into<iox2_reader_create_error_e>(value));
1803}
1804
1805template <>
1806constexpr auto from<int, iox2::EntryHandleError>(const int value) noexcept -> iox2::EntryHandleError {
1807 const auto error = static_cast<iox2_entry_handle_error_e>(value);
1808 switch (error) {
1809 case iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST:
1811 }
1812
1814}
1815
1816template <>
1818 -> iox2_entry_handle_error_e {
1819 switch (value) {
1821 return iox2_entry_handle_error_e_ENTRY_DOES_NOT_EXIST;
1822 }
1823
1825}
1826
1827template <>
1828inline auto from<iox2::EntryHandleError, const char*>(const iox2::EntryHandleError value) noexcept -> const char* {
1829 return iox2_entry_handle_error_string(iox2::bb::into<iox2_entry_handle_error_e>(value));
1830}
1831
1832template <>
1833constexpr auto from<int, iox2::ClientCreateError>(const int value) noexcept -> iox2::ClientCreateError {
1834 const auto error = static_cast<iox2_client_create_error_e>(value);
1835 switch (error) {
1836 case iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS:
1838 case iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1840 case iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1842 case iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1844 case iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE:
1846 }
1847
1849}
1850
1851template <>
1853 -> iox2_client_create_error_e {
1854 switch (value) {
1856 return iox2_client_create_error_e_EXCEEDS_MAX_SUPPORTED_CLIENTS;
1858 return iox2_client_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
1860 return iox2_client_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1862 return iox2_client_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1864 return iox2_client_create_error_e_MAX_ACTIVE_REQUESTS_EXCEEDS_MAX_SUPPORTED_ACTIVE_REQUESTS_OF_SERVICE;
1865 }
1866
1868}
1869
1870template <>
1871inline auto from<iox2::ClientCreateError, const char*>(const iox2::ClientCreateError value) noexcept -> const char* {
1872 return iox2_client_create_error_string(iox2::bb::into<iox2_client_create_error_e>(value));
1873}
1874
1875template <>
1876constexpr auto from<int, iox2::ServerCreateError>(const int value) noexcept -> iox2::ServerCreateError {
1877 const auto error = static_cast<iox2_server_create_error_e>(value);
1878 switch (error) {
1879 case iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS:
1881 case iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
1883 case iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1885 case iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1887 }
1888
1890}
1891
1892template <>
1894 -> iox2_server_create_error_e {
1895 switch (value) {
1897 return iox2_server_create_error_e_EXCEEDS_MAX_SUPPORTED_SERVERS;
1899 return iox2_server_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
1901 return iox2_server_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1903 return iox2_server_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1904 }
1905
1907}
1908
1909template <>
1910inline auto from<iox2::ServerCreateError, const char*>(const iox2::ServerCreateError value) noexcept -> const char* {
1911 return iox2_server_create_error_string(iox2::bb::into<iox2_server_create_error_e>(value));
1912}
1913
1914template <>
1915constexpr auto from<int, iox2::NotifierCreateError>(const int value) noexcept -> iox2::NotifierCreateError {
1916 const auto error = static_cast<iox2_notifier_create_error_e>(value);
1917 switch (error) {
1918 case iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS:
1920 case iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1922 case iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1924 }
1925
1927}
1928
1929template <>
1930constexpr auto
1932 -> iox2_notifier_create_error_e {
1933 switch (value) {
1935 return iox2_notifier_create_error_e_EXCEEDS_MAX_SUPPORTED_NOTIFIERS;
1937 return iox2_notifier_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1939 return iox2_notifier_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1940 }
1941
1943}
1944
1945template <>
1947 char* {
1948 return iox2_notifier_create_error_string(iox2::bb::into<iox2_notifier_create_error_e>(value));
1949}
1950
1951template <>
1952constexpr auto from<int, iox2::ListenerCreateError>(const int value) noexcept -> iox2::ListenerCreateError {
1953 const auto error = static_cast<iox2_listener_create_error_e>(value);
1954 switch (error) {
1955 case iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS:
1957 case iox2_listener_create_error_e_RESOURCE_CREATION_FAILED:
1959 case iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
1961 case iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
1963 }
1964
1966}
1967
1968template <>
1969constexpr auto
1971 -> iox2_listener_create_error_e {
1972 switch (value) {
1974 return iox2_listener_create_error_e_EXCEEDS_MAX_SUPPORTED_LISTENERS;
1976 return iox2_listener_create_error_e_RESOURCE_CREATION_FAILED;
1978 return iox2_listener_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
1980 return iox2_listener_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
1981 }
1982
1984}
1985
1986template <>
1988 char* {
1989 return iox2_listener_create_error_string(iox2::bb::into<iox2_listener_create_error_e>(value));
1990}
1991
1992template <>
1993constexpr auto from<int, iox2::NotifierNotifyError>(const int value) noexcept -> iox2::NotifierNotifyError {
1994 const auto error = static_cast<iox2_notifier_notify_error_e>(value);
1995 switch (error) {
1996 case iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS:
1998 case iox2_notifier_notify_error_e_MISSED_DEADLINE:
2000 case iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME:
2002 case iox2_notifier_notify_error_e_INVALID_LISTENER_KEY:
2004 }
2005
2007}
2008
2009template <>
2010constexpr auto
2012 -> iox2_notifier_notify_error_e {
2013 switch (value) {
2015 return iox2_notifier_notify_error_e_EVENT_ID_OUT_OF_BOUNDS;
2017 return iox2_notifier_notify_error_e_MISSED_DEADLINE;
2019 return iox2_notifier_notify_error_e_UNABLE_TO_ACQUIRE_ELAPSED_TIME;
2021 return iox2_notifier_notify_error_e_INVALID_LISTENER_KEY;
2022 }
2023
2025}
2026
2027template <>
2029 char* {
2030 return iox2_notifier_notify_error_string(iox2::bb::into<iox2_notifier_notify_error_e>(value));
2031}
2032
2033template <>
2034constexpr auto from<int, iox2::ListenerWaitError>(const int value) noexcept -> iox2::ListenerWaitError {
2035 const auto error = static_cast<iox2_listener_wait_error_e>(value);
2036 switch (error) {
2037 case iox2_listener_wait_error_e_CONTRACT_VIOLATION:
2039 case iox2_listener_wait_error_e_INTERRUPT_SIGNAL:
2041 case iox2_listener_wait_error_e_INTERNAL_FAILURE:
2043 }
2044
2046}
2047
2048template <>
2050 -> iox2_listener_wait_error_e {
2051 switch (value) {
2053 return iox2_listener_wait_error_e_CONTRACT_VIOLATION;
2055 return iox2_listener_wait_error_e_INTERRUPT_SIGNAL;
2057 return iox2_listener_wait_error_e_INTERNAL_FAILURE;
2058 }
2059
2061}
2062
2063template <>
2064inline auto from<iox2::ListenerWaitError, const char*>(const iox2::ListenerWaitError value) noexcept -> const char* {
2065 return iox2_listener_wait_error_string(iox2::bb::into<iox2_listener_wait_error_e>(value));
2066}
2067
2068template <>
2069constexpr auto from<int, iox2::PublisherCreateError>(const int value) noexcept -> iox2::PublisherCreateError {
2070 const auto error = static_cast<iox2_publisher_create_error_e>(value);
2071 switch (error) {
2072 case iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS:
2074 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT:
2076 case iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2078 case iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2080 }
2081
2083}
2084
2085template <>
2086constexpr auto
2088 -> iox2_publisher_create_error_e {
2089 switch (value) {
2091 return iox2_publisher_create_error_e_EXCEEDS_MAX_SUPPORTED_PUBLISHERS;
2093 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_DATA_SEGMENT;
2095 return iox2_publisher_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2097 return iox2_publisher_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2098 }
2099
2101}
2102
2103template <>
2105 char* {
2106 return iox2_publisher_create_error_string(iox2::bb::into<iox2_publisher_create_error_e>(value));
2107}
2108
2109template <>
2110constexpr auto from<int, iox2::SubscriberCreateError>(const int value) noexcept -> iox2::SubscriberCreateError {
2111 const auto error = static_cast<iox2_subscriber_create_error_e>(value);
2112 switch (error) {
2113 case iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE:
2115 case iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS:
2117 case iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY:
2119 case iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG:
2121 case iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE:
2123 case iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER:
2125 }
2126
2128}
2129
2130template <>
2131constexpr auto
2133 -> iox2_subscriber_create_error_e {
2134 switch (value) {
2136 return iox2_subscriber_create_error_e_BUFFER_SIZE_EXCEEDS_MAX_SUPPORTED_BUFFER_SIZE_OF_SERVICE;
2138 return iox2_subscriber_create_error_e_EXCEEDS_MAX_SUPPORTED_SUBSCRIBERS;
2140 return iox2_subscriber_create_error_e_FAILED_TO_DEPLOY_THREAD_SAFETY_POLICY;
2142 return iox2_subscriber_create_error_e_UNABLE_TO_CREATE_PORT_TAG;
2144 return iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_HISTORY_SIZE_OF_SERVICE;
2146 return iox2_subscriber_create_error_e_HISTORY_REQUEST_EXCEEDS_BUFFER_SIZE_OF_SUBSCRIBER;
2147 }
2148
2150}
2151
2152template <>
2154 char* {
2155 return iox2_subscriber_create_error_string(iox2::bb::into<iox2_subscriber_create_error_e>(value));
2156}
2157
2158template <>
2159constexpr auto from<int, iox2::SendError>(const int value) noexcept -> iox2::SendError {
2160 const auto error = static_cast<iox2_send_error_e>(value);
2161 switch (error) {
2162 case iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2164 case iox2_send_error_e_CONNECTION_CORRUPTED:
2166 case iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2168 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2170 case iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2172 case iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2174 case iox2_send_error_e_CONNECTION_ERROR:
2176 case iox2_send_error_e_UNABLE_TO_DELIVER:
2178 case iox2_send_error_e_INTERNAL_ERROR:
2180 }
2181
2183}
2184
2185template <>
2186constexpr auto from<iox2::SendError, iox2_send_error_e>(const iox2::SendError value) noexcept -> iox2_send_error_e {
2187 switch (value) {
2189 return iox2_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2191 return iox2_send_error_e_CONNECTION_CORRUPTED;
2193 return iox2_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2195 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2197 return iox2_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2199 return iox2_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2201 return iox2_send_error_e_CONNECTION_ERROR;
2203 return iox2_send_error_e_UNABLE_TO_DELIVER;
2205 return iox2_send_error_e_INTERNAL_ERROR;
2206 }
2207
2209}
2210
2211template <>
2212inline auto from<iox2::SendError, const char*>(const iox2::SendError value) noexcept -> const char* {
2213 return iox2_send_error_string(iox2::bb::into<iox2_send_error_e>(value));
2214}
2215
2216template <>
2217constexpr auto from<int, iox2::ReceiveError>(const int value) noexcept -> iox2::ReceiveError {
2218 const auto error = static_cast<iox2_receive_error_e>(value);
2219 switch (error) {
2220 case iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION:
2222 case iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2224 case iox2_receive_error_e_EXCEEDS_MAX_BORROWS:
2226 }
2227
2229}
2230
2231template <>
2233 -> iox2_receive_error_e {
2234 switch (value) {
2236 return iox2_receive_error_e_FAILED_TO_ESTABLISH_CONNECTION;
2238 return iox2_receive_error_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2240 return iox2_receive_error_e_EXCEEDS_MAX_BORROWS;
2241 }
2242
2244}
2245
2246template <>
2247inline auto from<iox2::ReceiveError, const char*>(const iox2::ReceiveError value) noexcept -> const char* {
2248 return iox2_receive_error_string(iox2::bb::into<iox2_receive_error_e>(value));
2249}
2250
2251template <>
2252constexpr auto from<int, iox2::LoanError>(const int value) noexcept -> iox2::LoanError {
2253 const auto error = static_cast<iox2_loan_error_e>(value);
2254 switch (error) {
2255 case iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES:
2257 case iox2_loan_error_e_OUT_OF_MEMORY:
2259 case iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE:
2261 case iox2_loan_error_e_INTERNAL_FAILURE:
2263 }
2264
2266}
2267
2268template <>
2269constexpr auto from<iox2::LoanError, iox2_loan_error_e>(const iox2::LoanError value) noexcept -> iox2_loan_error_e {
2270 switch (value) {
2272 return iox2_loan_error_e_EXCEEDS_MAX_LOANED_SAMPLES;
2274 return iox2_loan_error_e_OUT_OF_MEMORY;
2276 return iox2_loan_error_e_EXCEEDS_MAX_LOAN_SIZE;
2278 return iox2_loan_error_e_INTERNAL_FAILURE;
2279 }
2280
2282}
2283
2284template <>
2285inline auto from<iox2::LoanError, const char*>(const iox2::LoanError value) noexcept -> const char* {
2286 return iox2_loan_error_string(iox2::bb::into<iox2_loan_error_e>(value));
2287}
2288
2289template <>
2290constexpr auto from<int, iox2::RequestSendError>(const int value) noexcept -> iox2::RequestSendError {
2291 const auto error = static_cast<iox2_request_send_error_e>(value);
2292 switch (error) {
2293 case iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS:
2295 case iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS:
2297 case iox2_request_send_error_e_CONNECTION_CORRUPTED:
2299 case iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY:
2301 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS:
2303 case iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE:
2305 case iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE:
2307 case iox2_request_send_error_e_CONNECTION_ERROR:
2309 case iox2_request_send_error_e_UNABLE_TO_DELIVER:
2311 case iox2_request_send_error_e_INTERNAL_ERROR:
2313 }
2314
2316}
2317
2318template <>
2320 -> iox2_request_send_error_e {
2321 switch (value) {
2323 return iox2_request_send_error_e_EXCEEDS_MAX_ACTIVE_REQUESTS;
2325 return iox2_request_send_error_e_CONNECTION_BROKEN_SINCE_SENDER_NO_LONGER_EXISTS;
2327 return iox2_request_send_error_e_CONNECTION_CORRUPTED;
2329 return iox2_request_send_error_e_LOAN_ERROR_OUT_OF_MEMORY;
2331 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOANS;
2333 return iox2_request_send_error_e_LOAN_ERROR_EXCEEDS_MAX_LOAN_SIZE;
2335 return iox2_request_send_error_e_LOAN_ERROR_INTERNAL_FAILURE;
2337 return iox2_request_send_error_e_CONNECTION_ERROR;
2339 return iox2_request_send_error_e_UNABLE_TO_DELIVER;
2341 return iox2_request_send_error_e_INTERNAL_ERROR;
2342 }
2343
2345}
2346
2347template <>
2348inline auto from<iox2::RequestSendError, const char*>(const iox2::RequestSendError value) noexcept -> const char* {
2349 return iox2_request_send_error_string(iox2::bb::into<iox2_request_send_error_e>(value));
2350}
2351
2352template <>
2353constexpr auto from<int, iox2::TypeVariant>(const int value) noexcept -> iox2::TypeVariant {
2354 const auto variant = static_cast<iox2_type_variant_e>(value);
2355 switch (variant) {
2356 case iox2_type_variant_e_DYNAMIC:
2358 case iox2_type_variant_e_FIXED_SIZE:
2360 }
2361
2363}
2364
2365template <>
2366constexpr auto from<int, iox2::ServiceListError>(const int value) noexcept -> iox2::ServiceListError {
2367 const auto variant = static_cast<iox2_service_list_error_e>(value);
2368 switch (variant) {
2369 case iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS:
2371 case iox2_service_list_error_e_INTERNAL_ERROR:
2373 }
2374
2376}
2377
2378template <>
2380 -> iox2_service_list_error_e {
2381 switch (value) {
2383 return iox2_service_list_error_e_INSUFFICIENT_PERMISSIONS;
2385 return iox2_service_list_error_e_INTERNAL_ERROR;
2386 }
2387
2389}
2390
2391template <>
2392inline auto from<iox2::ServiceListError, const char*>(const iox2::ServiceListError value) noexcept -> const char* {
2393 return iox2_service_list_error_string(iox2::bb::into<iox2_service_list_error_e>(value));
2394}
2395
2396template <>
2397constexpr auto from<int, iox2::MessagingPattern>(const int value) noexcept -> iox2::MessagingPattern {
2398 const auto variant = static_cast<iox2_messaging_pattern_e>(value);
2399 switch (variant) {
2400 case iox2_messaging_pattern_e_EVENT:
2402 case iox2_messaging_pattern_e_PUBLISH_SUBSCRIBE:
2404 case iox2_messaging_pattern_e_REQUEST_RESPONSE:
2406 case iox2_messaging_pattern_e_BLACKBOARD:
2408 }
2409
2411}
2412
2413template <>
2414constexpr auto from<int, iox2::BackpressureStrategy>(const int value) noexcept -> iox2::BackpressureStrategy {
2415 const auto variant = static_cast<iox2_backpressure_strategy_e>(value);
2416 switch (variant) {
2417 case iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED:
2419 case iox2_backpressure_strategy_e_DISCARD_DATA:
2421 }
2422
2424}
2425
2426template <>
2427constexpr auto from<iox2::BackpressureStrategy, int>(const iox2::BackpressureStrategy value) noexcept -> int {
2428 switch (value) {
2430 return iox2_backpressure_strategy_e_RETRY_UNTIL_DELIVERED;
2432 return iox2_backpressure_strategy_e_DISCARD_DATA;
2433 }
2434
2436}
2437
2438template <>
2439constexpr auto from<int, iox2::ConnectionFailure>(const int value) noexcept -> iox2::ConnectionFailure {
2440 const auto variant = static_cast<iox2_connection_failure_e>(value);
2441 switch (variant) {
2442 case iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION:
2444 case iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT:
2446 }
2447
2449}
2450
2451template <>
2453 -> iox2_connection_failure_e {
2454 switch (value) {
2456 return iox2_connection_failure_e_FAILED_TO_ESTABLISH_CONNECTION;
2458 return iox2_connection_failure_e_UNABLE_TO_MAP_SENDERS_DATA_SEGMENT;
2459 }
2460
2462}
2463
2464template <>
2465inline auto from<iox2::ConnectionFailure, const char*>(const iox2::ConnectionFailure value) noexcept -> const char* {
2466 return iox2_connection_failure_string(iox2::bb::into<iox2_connection_failure_e>(value));
2467}
2468
2469template <>
2470constexpr auto from<int, iox2::ConfigCreationError>(const int value) noexcept -> iox2::ConfigCreationError {
2471 const auto variant = static_cast<iox2_config_creation_error_e>(value);
2472 switch (variant) {
2473 case iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS:
2475 case iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS:
2477 case iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS:
2479 case iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST:
2481 case iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE:
2483 case iox2_config_creation_error_e_INVALID_FILE_PATH:
2484 // unreachable since this error case is excluded by using the strong type iox2::bb::FilePath
2486 }
2487
2489}
2490
2491template <>
2492constexpr auto
2494 -> iox2_config_creation_error_e {
2495 switch (value) {
2497 return iox2_config_creation_error_e_FAILED_TO_READ_CONFIG_FILE_CONTENTS;
2499 return iox2_config_creation_error_e_UNABLE_TO_DESERIALIZE_CONTENTS;
2501 return iox2_config_creation_error_e_INSUFFICIENT_PERMISSIONS;
2503 return iox2_config_creation_error_e_CONFIG_FILE_DOES_NOT_EXIST;
2505 return iox2_config_creation_error_e_UNABLE_TO_OPEN_CONFIG_FILE;
2506 }
2507
2509}
2510
2511template <>
2513 char* {
2514 return iox2_config_creation_error_string(iox2::bb::into<iox2_config_creation_error_e>(value));
2515}
2516
2517template <>
2518constexpr auto from<iox2::LogLevel, iox2_log_level_e>(iox2::LogLevel value) noexcept -> iox2_log_level_e {
2519 switch (value) {
2521 return iox2_log_level_e_TRACE;
2523 return iox2_log_level_e_DEBUG;
2525 return iox2_log_level_e_INFO;
2527 return iox2_log_level_e_WARN;
2529 return iox2_log_level_e_ERROR;
2531 return iox2_log_level_e_FATAL;
2532 }
2534}
2535
2536template <>
2537constexpr auto from<int, iox2::LogLevel>(int value) noexcept -> iox2::LogLevel {
2538 const auto variant = static_cast<iox2_log_level_e>(value);
2539 switch (variant) {
2540 case iox2_log_level_e_TRACE:
2541 return iox2::LogLevel::Trace;
2542 case iox2_log_level_e_DEBUG:
2543 return iox2::LogLevel::Debug;
2544 case iox2_log_level_e_INFO:
2545 return iox2::LogLevel::Info;
2546 case iox2_log_level_e_WARN:
2547 return iox2::LogLevel::Warn;
2548 case iox2_log_level_e_ERROR:
2549 return iox2::LogLevel::Error;
2550 case iox2_log_level_e_FATAL:
2551 return iox2::LogLevel::Fatal;
2552 }
2553
2555}
2556
2557template <>
2558constexpr auto from<int, iox2::WaitSetCreateError>(const int value) noexcept -> iox2::WaitSetCreateError {
2559 const auto variant = static_cast<iox2_waitset_create_error_e>(value);
2560 switch (variant) {
2561 case iox2_waitset_create_error_e_INTERNAL_ERROR:
2563 case iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES:
2565 }
2566
2568}
2569
2570template <>
2571constexpr auto
2573 -> iox2_waitset_create_error_e {
2574 switch (value) {
2576 return iox2_waitset_create_error_e_INTERNAL_ERROR;
2578 return iox2_waitset_create_error_e_INSUFFICIENT_RESOURCES;
2579 }
2580
2582}
2583
2584template <>
2585inline auto from<iox2::WaitSetCreateError, const char*>(const iox2::WaitSetCreateError value) noexcept -> const char* {
2586 return iox2_waitset_create_error_string(iox2::bb::into<iox2_waitset_create_error_e>(value));
2587}
2588
2589template <>
2590constexpr auto from<int, iox2::WaitSetRunResult>(const int value) noexcept -> iox2::WaitSetRunResult {
2591 const auto variant = static_cast<iox2_waitset_run_result_e>(value);
2592 switch (variant) {
2593 case iox2_waitset_run_result_e_INTERRUPT:
2595 case iox2_waitset_run_result_e_TERMINATION_REQUEST:
2597 case iox2_waitset_run_result_e_STOP_REQUEST:
2599 case iox2_waitset_run_result_e_ALL_EVENTS_HANDLED:
2601 }
2602
2604}
2605
2606template <>
2608 -> iox2_waitset_run_result_e {
2609 switch (value) {
2611 return iox2_waitset_run_result_e_INTERRUPT;
2613 return iox2_waitset_run_result_e_TERMINATION_REQUEST;
2615 return iox2_waitset_run_result_e_STOP_REQUEST;
2617 return iox2_waitset_run_result_e_ALL_EVENTS_HANDLED;
2618 }
2619
2621}
2622
2623template <>
2625 const auto variant = static_cast<iox2_waitset_attachment_error_e>(value);
2626 switch (variant) {
2627 case iox2_waitset_attachment_error_e_ALREADY_ATTACHED:
2629 case iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY:
2631 case iox2_waitset_attachment_error_e_INTERNAL_ERROR:
2633 case iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES:
2635 }
2636
2638}
2639
2640template <>
2641constexpr auto
2643 -> iox2_waitset_attachment_error_e {
2644 switch (value) {
2646 return iox2_waitset_attachment_error_e_ALREADY_ATTACHED;
2648 return iox2_waitset_attachment_error_e_INSUFFICIENT_CAPACITY;
2650 return iox2_waitset_attachment_error_e_INTERNAL_ERROR;
2652 return iox2_waitset_attachment_error_e_INSUFFICIENT_RESOURCES;
2653 }
2654
2656}
2657
2658template <>
2660 char* {
2661 return iox2_waitset_attachment_error_string(iox2::bb::into<iox2_waitset_attachment_error_e>(value));
2662}
2663
2664template <>
2665constexpr auto from<int, iox2::WaitSetRunError>(const int value) noexcept -> iox2::WaitSetRunError {
2666 const auto variant = static_cast<iox2_waitset_run_error_e>(value);
2667 switch (variant) {
2668 case iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS:
2670 case iox2_waitset_run_error_e_INTERNAL_ERROR:
2672 case iox2_waitset_run_error_e_NO_ATTACHMENTS:
2674 case iox2_waitset_run_error_e_TERMINATION_REQUEST:
2676 case iox2_waitset_run_error_e_INTERRUPT:
2678 }
2679
2681}
2682
2683template <>
2685 -> iox2_waitset_run_error_e {
2686 switch (value) {
2688 return iox2_waitset_run_error_e_INSUFFICIENT_PERMISSIONS;
2690 return iox2_waitset_run_error_e_INTERNAL_ERROR;
2692 return iox2_waitset_run_error_e_NO_ATTACHMENTS;
2694 return iox2_waitset_run_error_e_TERMINATION_REQUEST;
2696 return iox2_waitset_run_error_e_INTERRUPT;
2697 }
2698
2700}
2701
2702template <>
2703inline auto from<iox2::WaitSetRunError, const char*>(const iox2::WaitSetRunError value) noexcept -> const char* {
2704 return iox2_waitset_run_error_string(iox2::bb::into<iox2_waitset_run_error_e>(value));
2705}
2706
2707template <>
2708constexpr auto
2710 -> iox2_signal_handling_mode_e {
2711 switch (value) {
2713 return iox2_signal_handling_mode_e_DISABLED;
2715 return iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS;
2716 }
2717
2719}
2720
2721template <>
2722constexpr auto from<int, iox2::SignalHandlingMode>(const int value) noexcept -> iox2::SignalHandlingMode {
2723 const auto variant = static_cast<iox2_signal_handling_mode_e>(value);
2724
2725 switch (variant) {
2726 case iox2_signal_handling_mode_e_DISABLED:
2728 case iox2_signal_handling_mode_e_HANDLE_TERMINATION_REQUESTS:
2730 }
2731
2733}
2734
2735template <>
2737 -> iox2_allocation_strategy_e {
2738 switch (value) {
2740 return iox2_allocation_strategy_e_BEST_FIT;
2742 return iox2_allocation_strategy_e_POWER_OF_TWO;
2744 return iox2_allocation_strategy_e_STATIC;
2745 }
2746
2748}
2749
2750template <>
2751constexpr auto from<int, iox2::NodeCleanupFailure>(const int value) noexcept -> iox2::NodeCleanupFailure {
2752 const auto variant = static_cast<iox2_node_cleanup_failure_e>(value);
2753
2754 switch (variant) {
2755 case iox2_node_cleanup_failure_e_INTERRUPT:
2757 case iox2_node_cleanup_failure_e_INTERNAL_ERROR:
2759 case iox2_node_cleanup_failure_e_INSUFFICIENT_PERMISSIONS:
2761 case iox2_node_cleanup_failure_e_VERSION_MISMATCH:
2763 case iox2_node_cleanup_failure_e_ANOTHER_INSTANCE_IS_CLEANING_UP_THE_NODE:
2765 case iox2_node_cleanup_failure_e_RESOURCES_ALREADY_CLEANED_UP:
2767 }
2768
2770}
2771
2772template <>
2773constexpr auto from<int, iox2::AttributeVerificationError>(const int value) noexcept
2775 const auto error = static_cast<iox2_attribute_verification_error_e>(value);
2776 switch (error) {
2777 case iox2_attribute_verification_error_e_NON_EXISTING_KEY:
2779 case iox2_attribute_verification_error_e_INCOMPATIBLE_ATTRIBUTE:
2781 }
2782
2784}
2785
2786template <>
2788 const auto error = static_cast<iox2_attribute_definition_error_e>(value);
2789 switch (error) {
2790 case iox2_attribute_definition_error_e_EXCEEDS_MAX_SUPPORTED_ATTRIBUTES:
2792 }
2793
2795}
2796
2797template <>
2798constexpr auto from<iox2_degradation_cause_e, iox2::DegradationCause>(const iox2_degradation_cause_e value) noexcept
2800 switch (value) {
2801 case iox2_degradation_cause_e_FAILED_TO_ESTABLISH_CONNECTION:
2803 case iox2_degradation_cause_e_CONNECTION_CORRUPTED:
2805 }
2806
2808}
2809
2810template <>
2812 -> iox2_degradation_action_e {
2813 switch (value) {
2815 return iox2_degradation_action_e_IGNORE;
2817 return iox2_degradation_action_e_WARN;
2819 return iox2_degradation_action_e_DEGRADE_AND_FAIL;
2820 }
2821
2823}
2824
2825template <>
2827 -> iox2_backpressure_action_e {
2828 switch (value) {
2830 return iox2_backpressure_action_e_FOLLOW_BACKPRESSUREY_STRATEGY;
2832 return iox2_backpressure_action_e_RETRY;
2834 return iox2_backpressure_action_e_DISCARD_DATA;
2836 return iox2_backpressure_action_e_DISCARD_DATA_AND_FAIL;
2837 }
2838
2840}
2841
2842template <>
2843constexpr auto
2844from<iox2_service_remove_error_e, iox2::ServiceRemoveError>(const iox2_service_remove_error_e value) noexcept
2846 switch (value) {
2847 case iox2_service_remove_error_e_INTERNAL_ERROR:
2849 case iox2_service_remove_error_e_INSUFFICIENT_PERMISSIONS:
2851 case iox2_service_remove_error_e_VERSION_MISMATCH:
2853 case iox2_service_remove_error_e_INTERRUPT:
2855 }
2856
2858}
2859
2860
2861} // namespace bb
2862} // namespace iox2
2863
2864#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.
@ HistoryRequestExceedsBufferSizeOfSubscriber
When the [Subscriber] requests a larger history than its buffer can hold.
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 inaccessible.
@ 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 inaccessible.
@ 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 inaccessible.
@ 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 inaccessible.
@ 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 inaccessible.
@ 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 inaccessible.
@ 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.