iceoryx2
iceoryx2 copied to clipboard
Improve error codes on failed service creation
Brief feature description
Currently, when a service is created by two parties concurrently, some of the error codes are not too helpful and sometimes misleading. Similar with concurrently opening and closing a service.
This are the error codes which are triggered in service_tests.rs
PublishSubscribeCreateError::AlreadyExists,
PublishSubscribeCreateError::Corrupted,
PublishSubscribeCreateError::IsBeingCreatedByAnotherInstance,
PublishSubscribeOpenError::DoesNotExist,
PublishSubscribeOpenError::PermissionDenied,
PublishSubscribeOpenError::ServiceInCorruptedState,
PublishSubscribeOpenError::UnableToOpenDynamicServiceInformation,
The latter, for example, should only trigger DoesNotExist
. See also https://github.com/eclipse-iceoryx/iceoryx2/pull/174#discussion_r1561100720.
The other error codes leak implementation details and only occur due to the decentralized nature of iceoryx2. It needs to be determined if they can be mapped to DoesNotExist
without shadowing an actual error when, e.g. the permissions really do not exist.