iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2 Namespace Reference

Namespaces

namespace  bb
 
namespace  config
 
namespace  detail
 
namespace  internal
 
namespace  legacy
 

Classes

class  ActiveRequest
 
class  AliveNodeView
 Contains all details of a [Node] that is alive. More...
 
class  Attribute
 
class  AttributeSet
 Represents all service attributes. They can be set when the service is created. More...
 
class  AttributeSetView
 
class  AttributeSpecifier
 
class  AttributeVerifier
 
class  AttributeView
 
class  BackpressureInfo
 The info passed to the [BackpressureHandler]. More...
 
class  BlackboardValue
 A wrapper for the value returned by [EntryHandle::get()]. More...
 
class  Client
 Sends [RequestMut]s to a [Server] in a request-response based communication. More...
 
class  ClientDetailsView
 Contains the communication settings of the connected [Client]. More...
 
class  Config
 
class  ConfigView
 Non-owning view of a [Config]. More...
 
struct  CustomHeaderMarker
 User header type for a service whose user header type details are set at runtime. More...
 
struct  CustomPayloadMarker
 Payload element for a service whose payload type details are set at runtime. More...
 
class  DeadNodeView
 Contains all details of a [Node] that is dead. More...
 
class  DegradationInfo
 The degradation info passed to the [DegradationHandler]. More...
 
class  DynamicConfigBlackboard
 
class  DynamicConfigEvent
 
class  DynamicConfigPublishSubscribe
 
class  DynamicConfigRequestResponse
 
class  EntryHandle
 A handle for direct read access to a specific blackboard value. More...
 
class  EntryHandleMut
 A handle for direct write access to a specific blackboard value. More...
 
class  EntryValueUninit
 Wrapper around an uninitialized entry value that can be used for a zero-copy update. More...
 
class  EventActivation
 
class  EventId
 Type that allows to identify an event uniquely. More...
 
class  FileDescriptor
 
class  FileDescriptorBased
 Abstract class that can be implemented by a class that is based on a [FileDescriptor]. More...
 
class  FileDescriptorView
 A view to a [FileDescriptor]. More...
 
class  HeaderPublishSubscribe
 Sample header used by [MessagingPattern::PublishSubscribe]. More...
 
struct  IsListenerFdBased
 
struct  IsListenerFdBased< ServiceType::Ipc >
 
struct  IsListenerFdBased< ServiceType::Local >
 
class  Listener
 Represents the receiving endpoint of an event based communication. More...
 
class  ListenerDetailsView
 Contains the communication settings of the connected [Listener]. More...
 
class  Log
 
class  MessageTypeDetails
 Contains all type information to the header and payload type. More...
 
class  Node
 
class  NodeBuilder
 Creates a new [Node]. More...
 
class  NodeDetails
 Contains details of a [Node]. More...
 
class  NodeName
 Represent the name for a [Node]. More...
 
class  NodeNameView
 Non-owning view of a [NodeName]. More...
 
class  NodeState
 Describes the state of a [Node]. More...
 
class  Notifier
 Represents the sending endpoint of an event based communication. More...
 
class  NotifierDetailsView
 Contains the communication settings of the connected [Notifier]. More...
 
struct  PayloadInfo
 
struct  PayloadInfo< bb::Slice< T > >
 
class  PendingResponse
 
class  PortFactoryBlackboard
 Represents the port factory of a [Service] with [MessagingPattern::Blackboard]. More...
 
class  PortFactoryClient
 
class  PortFactoryEvent
 Represents the port factory of a [Service] with [MessagingPattern::Event]. More...
 
class  PortFactoryListener
 
class  PortFactoryNotifier
 
class  PortFactoryPublisher
 
class  PortFactoryPublishSubscribe
 
class  PortFactoryReader
 
class  PortFactoryRequestResponse
 
class  PortFactoryServer
 
class  PortFactorySubscriber
 
class  PortFactoryWriter
 
class  Publisher
 Sending endpoint of a publish-subscriber based communication. More...
 
class  PublisherDetailsView
 Contains the communication settings of the connected [Publisher]. More...
 
class  Reader
 Reading endpoint of a blackboard based communication. More...
 
class  ReaderDetailsView
 Contains the communication settings of the connected [Reader]. More...
 
class  RequestHeader
 Request header used by [MessagingPattern::RequestResponse]. More...
 
class  RequestMut
 
class  RequestMutUninit
 
class  Response
 
class  ResponseHeader
 Response header used by [MessagingPattern::RequestResponse]. More...
 
class  ResponseMut
 
class  ResponseMutUninit
 
class  Sample
 
class  SampleMut
 
class  SampleMutUninit
 
class  Server
 
class  ServerDetailsView
 Contains the communication settings of the connected [Server]. More...
 
class  Service
 
class  ServiceBuilder
 Builder to create or open [Service]s. More...
 
class  ServiceBuilderBlackboardCreator
 Builder to create new [MessagingPattern::Blackboard] based [Service]s. More...
 
class  ServiceBuilderBlackboardOpener
 
class  ServiceBuilderEvent
 Builder to create new [MessagingPattern::Event] based [Service]s. More...
 
class  ServiceBuilderPublishSubscribe
 Builder to create new [MessagingPattern::PublishSubscribe] based [Service]s. More...
 
class  ServiceBuilderRequestResponse
 
struct  ServiceDetails
 
class  ServiceHash
 Represents the unique if of a [Service]. More...
 
class  ServiceName
 The name of a [Service]. More...
 
class  ServiceNameView
 Non-owning view of a [ServiceName]. More...
 
class  StaticConfig
 Defines a common set of static service configuration details every service shares. More...
 
class  StaticConfigBlackboard
 
class  StaticConfigEvent
 
class  StaticConfigPublishSubscribe
 
class  StaticConfigRequestResponse
 
class  Subscriber
 The receiving endpoint of a publish-subscribe communication. More...
 
class  SubscriberDetailsView
 Contains the communication settings of the connected [Subscriber]. More...
 
class  TypeDetail
 
struct  TypeNameSpecialization
 
class  UniqueClientId
 The system-wide unique id of a [Client]. More...
 
class  UniqueListenerId
 The system-wide unique id of a [Listener]. More...
 
class  UniqueNodeId
 The system-wide unique id of a [Node]. More...
 
class  UniqueNotifierId
 The system-wide unique id of a [Notifier]. More...
 
class  UniquePublisherId
 The system-wide unique id of a [Publisher]. More...
 
class  UniqueReaderId
 The system-wide unique id of a [Reader]. More...
 
class  UniqueServerId
 The system-wide unique id of a [Server]. More...
 
class  UniqueSubscriberId
 The system-wide unique id of a [Subscriber]. More...
 
class  UniqueWriterId
 The system-wide unique id of a [Writer]. More...
 
class  WaitSet
 
class  WaitSetAttachmentId
 Represents an attachment to the [WaitSet]. More...
 
class  WaitSetBuilder
 The builder for the [WaitSet]. More...
 
class  WaitSetGuard
 
class  Writer
 Producing endpoint of a blackboard based communication. More...
 
class  WriterDetailsView
 Contains the communication settings of the connected [Writer]. More...
 

Typedefs

using BackpressureHandler = iox2::bb::StaticFunction< BackpressureAction(const BackpressureInfo &)>
 
using DegradationHandler = iox2::bb::StaticFunction< DegradationAction(DegradationCause, DegradationInfo &)>
 
using OverridePreallocationCallback = iox2::bb::StaticFunction< size_t(size_t)>
 
using TypeName = iox2::bb::StaticString< IOX2_TYPE_NAME_LENGTH >
 
using RawIdType = iox2::bb::StaticVector< uint8_t, UNIQUE_PORT_ID_LENGTH >
 

Enumerations

enum class  AllocationStrategy : uint8_t { BestFit , PowerOfTwo , Static }
 
enum class  AttributeVerificationError : uint8_t { NonExistingKey , IncompatibleAttribute }
 Failures that can occur when the [AttributeVerifier] fails the verification. More...
 
enum class  AttributeDefinitionError : uint8_t { ExceedsMaxSupportedAttributes }
 Failures that can occur when defining [Attribute]s with [AttributeSpecifier::define()]. More...
 
enum class  BackpressureAction : uint8_t { FollowBackpressureyStrategy , Retry , DiscardData , DiscardDataAndFail }
 Defines the action that shall be take when data cannot be delivered. More...
 
enum class  BackpressureStrategy : uint8_t { RetryUntilDelivered , DiscardData }
 
enum class  CallbackProgression : uint8_t { Continue , Stop }
 
enum class  ClientCreateError : uint8_t {
  UnableToCreateDataSegment , ExceedsMaxSupportedClients , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag ,
  MaxActiveRequestsExceedsMaxSupportedActiveRequestsOfService
}
 
enum class  ConfigCreationError : uint8_t {
  FailedToReadConfigFileContents , UnableToDeserializeContents , InsufficientPermissions , ConfigFileDoesNotExist ,
  UnableToOpenConfigFile
}
 Failures occurring while creating a new [Config] object with [Config::from_file()]. More...
 
enum class  ConnectionFailure : uint8_t { FailedToEstablishConnection , UnableToMapSendersDataSegment }
 
enum class  DegradationAction : uint8_t { Ignore , Warn , DegradeAndFail }
 
enum class  DegradationCause : uint8_t { FailedToEstablishConnection , ConnectionCorrupted }
 Defines the cause of a degradation and is a parameter of the [DegradationHandler]. More...
 
enum class  EntryHandleError : uint8_t { EntryDoesNotExist }
 Defines a failure that can occur when a [EntryHandle] is created with [Reader::entry()]. More...
 
enum class  EntryHandleMutError : uint8_t { EntryDoesNotExist , HandleAlreadyExists }
 Defines a failure that can occur when a [EntryHandleMut] is created with [Writer::entry()]. More...
 
enum class  ListenerCreateError : uint8_t { ExceedsMaxSupportedListeners , ResourceCreationFailed , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  ListenerWaitError : uint8_t { ContractViolation , InterruptSignal , InternalFailure }
 
enum class  LogLevel : uint8_t {
  Trace = 0 , Debug = 1 , Info = 2 , Warn = 3 ,
  Error = 4 , Fatal = 5
}
 
enum class  MessagingPattern : uint8_t { PublishSubscribe = 0 , Event , RequestResponse , Blackboard }
 
enum class  ServiceRemoveError : uint8_t { Interrupt , VersionMismatch , InternalError , InsufficientPermissions }
 Error that can be reported when removing a [Node](crate::node::Node). More...
 
enum class  NodeListFailure : uint8_t { InsufficientPermissions , InternalError , Interrupt }
 All failures that can occur in [Node::list()]. More...
 
enum class  NodeCreationFailure : uint8_t { InsufficientPermissions , InternalError , SystemCorrupted }
 All failures that can occur in [NodeBuilder::create()]. More...
 
enum class  NodeCleanupFailure : uint8_t {
  Interrupt , InternalError , InsufficientPermissions , VersionMismatch ,
  ResourcesAlreadyCleanedUp , AnotherInstanceIsCleaningUpTheNode
}
 
enum class  NodeWaitFailure : uint8_t { TerminationRequest , Interrupt }
 Defines all possible errors that can occur during [Node::wait()]. More...
 
enum class  NotifierCreateError : uint8_t { ExceedsMaxSupportedNotifiers , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  NotifierNotifyError : uint8_t { EventIdOutOfBounds , MissedDeadline , UnableToAcquireElapsedTime }
 Defines the failures that can occur while a [Notifier::notify()] call. More...
 
enum class  LoanError : uint8_t { OutOfMemory , ExceedsMaxLoanedSamples , ExceedsMaxLoanSize , InternalFailure }
 
enum class  SendError : uint8_t {
  ConnectionBrokenSinceSenderNoLongerExists , ConnectionCorrupted , LoanErrorOutOfMemory , LoanErrorExceedsMaxLoans ,
  LoanErrorExceedsMaxLoanSize , LoanErrorInternalFailure , ConnectionError , UnableToDeliver ,
  InternalError
}
 Failure that can be emitted when data is sent. More...
 
enum class  ReceiveError : uint8_t { ExceedsMaxBorrows , FailedToEstablishConnection , UnableToMapSendersDataSegment }
 
enum class  RequestSendError : uint8_t {
  ExceedsMaxActiveRequests , ConnectionBrokenSinceSenderNoLongerExists , ConnectionCorrupted , LoanErrorOutOfMemory ,
  LoanErrorExceedsMaxLoans , LoanErrorExceedsMaxLoanSize , LoanErrorInternalFailure , ConnectionError ,
  UnableToDeliver , InternalError
}
 Failure that can be emitted when a [RequestMut] is sent. More...
 
enum class  PublisherCreateError : uint8_t { ExceedsMaxSupportedPublishers , UnableToCreateDataSegment , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  ReaderCreateError : uint8_t { ExceedsMaxSupportedReaders , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  ServerCreateError : uint8_t { ExceedsMaxSupportedServers , UnableToCreateDataSegment , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  BlackboardOpenError : uint8_t {
  Interrupt , DoesNotExist , ServiceInCorruptedState , IncompatibleKeys ,
  InternalFailure , IncompatibleAttributes , IncompatibleMessagingPattern , DoesNotSupportRequestedAmountOfReaders ,
  InsufficientPermissions , HangsInCreation , IsMarkedForDestruction , ExceedsMaxNumberOfNodes ,
  DoesNotSupportRequestedAmountOfNodes , UnableToCreateServiceTag , VersionMismatch
}
 Errors that can occur when an existing [MessagingPattern::Blackboard] [Service] shall be opened. More...
 
enum class  BlackboardCreateError : uint8_t {
  Interrupt , AlreadyExists , IsBeingCreatedByAnotherInstance , InternalFailure ,
  InsufficientPermissions , ServiceInCorruptedState , HangsInCreation , NoEntriesProvided ,
  UnableToCreateServiceTag , ServiceConfigCouldNotBeCreated
}
 Errors that can occur when a new [MessagingPattern::Blackboard] [Service] shall be created. More...
 
enum class  EventOpenError : uint8_t {
  Interrupt , DoesNotExist , InsufficientPermissions , ServiceInCorruptedState ,
  IncompatibleMessagingPattern , IncompatibleAttributes , InternalFailure , HangsInCreation ,
  DoesNotSupportRequestedAmountOfNotifiers , DoesNotSupportRequestedAmountOfListeners , DoesNotSupportRequestedMaxEventId , DoesNotSupportRequestedAmountOfNodes ,
  ExceedsMaxNumberOfNodes , IsMarkedForDestruction , IncompatibleDeadline , IncompatibleNotifierCreatedEvent ,
  IncompatibleNotifierDroppedEvent , IncompatibleNotifierDeadEvent , UnableToCreateServiceTag , VersionMismatch
}
 Failures that can occur when an existing [MessagingPattern::Event] [Service] shall be opened. More...
 
enum class  EventCreateError : uint8_t {
  Interrupt , ServiceInCorruptedState , InternalFailure , IsBeingCreatedByAnotherInstance ,
  AlreadyExists , InsufficientPermissions , OldConnectionsStillActive , UnableToCreateServiceTag ,
  ServiceConfigCouldNotBeCreated
}
 Failures that can occur when a new [MessagingPattern::Event] [Service] shall be created. More...
 
enum class  EventOpenOrCreateError : uint8_t {
  OpenInterrupt , OpenDoesNotExist , OpenInsufficientPermissions , OpenServiceInCorruptedState ,
  OpenIncompatibleDeadline , OpenIncompatibleMessagingPattern , OpenIncompatibleAttributes , OpenIncompatibleNotifierCreatedEvent ,
  OpenIncompatibleNotifierDroppedEvent , OpenIncompatibleNotifierDeadEvent , OpenInternalFailure , OpenHangsInCreation ,
  OpenDoesNotSupportRequestedAmountOfNotifiers , OpenDoesNotSupportRequestedAmountOfListeners , OpenDoesNotSupportRequestedMaxEventId , OpenDoesNotSupportRequestedAmountOfNodes ,
  OpenExceedsMaxNumberOfNodes , OpenIsMarkedForDestruction , OpenUnableToCreateServiceTag , OpenVersionMismatch ,
  CreateInterrupt , CreateServiceInCorruptedState , CreateInternalFailure , CreateIsBeingCreatedByAnotherInstance ,
  CreateAlreadyExists , CreateInsufficientPermissions , CreateOldConnectionsStillActive , SystemInFlux ,
  CreateUnableToCreateServiceTag , CreateServiceConfigCouldNotBeCreated
}
 
enum class  PublishSubscribeOpenError : uint8_t {
  Interrupt , DoesNotExist , InternalFailure , IncompatibleTypes ,
  IncompatibleMessagingPattern , IncompatibleAttributes , DoesNotSupportRequestedMinBufferSize , DoesNotSupportRequestedMinHistorySize ,
  DoesNotSupportRequestedMinSubscriberBorrowedSamples , DoesNotSupportRequestedAmountOfPublishers , DoesNotSupportRequestedAmountOfSubscribers , DoesNotSupportRequestedAmountOfNodes ,
  IncompatibleOverflowBehavior , InsufficientPermissions , ServiceInCorruptedState , HangsInCreation ,
  ExceedsMaxNumberOfNodes , IsMarkedForDestruction , UnableToCreateServiceTag , VersionMismatch
}
 Errors that can occur when an existing [MessagingPattern::PublishSubscribe] [Service] shall be opened. More...
 
enum class  PublishSubscribeCreateError : uint8_t {
  Interrupt , ServiceInCorruptedState , SubscriberBufferMustBeLargerThanHistorySize , AlreadyExists ,
  InsufficientPermissions , InternalFailure , IsBeingCreatedByAnotherInstance , HangsInCreation ,
  UnableToCreateServiceTag , ServiceConfigCouldNotBeCreated
}
 Errors that can occur when a new [MessagingPattern::PublishSubscribe] [Service] shall be created. More...
 
enum class  PublishSubscribeOpenOrCreateError : uint8_t {
  OpenInterrupt , OpenDoesNotExist , OpenInternalFailure , OpenIncompatibleTypes ,
  OpenIncompatibleMessagingPattern , OpenIncompatibleAttributes , OpenDoesNotSupportRequestedMinBufferSize , OpenDoesNotSupportRequestedMinHistorySize ,
  OpenDoesNotSupportRequestedMinSubscriberBorrowedSamples , OpenDoesNotSupportRequestedAmountOfPublishers , OpenDoesNotSupportRequestedAmountOfSubscribers , OpenDoesNotSupportRequestedAmountOfNodes ,
  OpenIncompatibleOverflowBehavior , OpenInsufficientPermissions , OpenServiceInCorruptedState , OpenHangsInCreation ,
  OpenExceedsMaxNumberOfNodes , OpenIsMarkedForDestruction , OpenUnableToCreateServiceTag , OpenVersionMismatch ,
  CreateInterrupt , CreateServiceInCorruptedState , CreateSubscriberBufferMustBeLargerThanHistorySize , CreateAlreadyExists ,
  CreateInsufficientPermissions , CreateInternalFailure , CreateIsBeingCreatedByAnotherInstance , CreateHangsInCreation ,
  CreateUnableToCreateServiceTag , CreateServiceConfigCouldNotBeCreated , SystemInFlux
}
 
enum class  RequestResponseOpenError : uint8_t {
  Interrupt , DoesNotExist , DoesNotSupportRequestedAmountOfClientRequestLoans , DoesNotSupportRequestedAmountOfActiveRequestsPerClient ,
  DoesNotSupportRequestedResponseBufferSize , DoesNotSupportRequestedAmountOfServers , DoesNotSupportRequestedAmountOfClients , DoesNotSupportRequestedAmountOfNodes ,
  DoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse , ExceedsMaxNumberOfNodes , HangsInCreation , IncompatibleRequestOrResponseType ,
  IncompatibleAttributes , IncompatibleMessagingPattern , IncompatibleOverflowBehaviorForRequests , IncompatibleOverflowBehaviorForResponses ,
  IncompatibleBehaviorForFireAndForgetRequests , InsufficientPermissions , InternalFailure , IsMarkedForDestruction ,
  ServiceInCorruptedState , UnableToCreateServiceTag , VersionMismatch
}
 
enum class  RequestResponseCreateError : uint8_t {
  Interrupt , AlreadyExists , InternalFailure , IsBeingCreatedByAnotherInstance ,
  InsufficientPermissions , HangsInCreation , ServiceInCorruptedState , UnableToCreateServiceTag ,
  ServiceConfigCouldNotBeCreated
}
 Errors that can occur when a new [MessagingPattern::RequestResponse] [Service] shall be created. More...
 
enum class  RequestResponseOpenOrCreateError : uint8_t {
  OpenInterrupt , OpenDoesNotExist , OpenDoesNotSupportRequestedAmountOfClientRequestLoans , OpenDoesNotSupportRequestedAmountOfActiveRequestsPerClient ,
  OpenDoesNotSupportRequestedResponseBufferSize , OpenDoesNotSupportRequestedAmountOfServers , OpenDoesNotSupportRequestedAmountOfClients , OpenDoesNotSupportRequestedAmountOfNodes ,
  OpenDoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse , OpenExceedsMaxNumberOfNodes , OpenHangsInCreation , OpenIncompatibleRequestOrResponseType ,
  OpenIncompatibleAttributes , OpenIncompatibleMessagingPattern , OpenIncompatibleOverflowBehaviorForRequests , OpenIncompatibleOverflowBehaviorForResponses ,
  OpenIncompatibleBehaviorForFireAndForgetRequests , OpenInsufficientPermissions , OpenInternalFailure , OpenIsMarkedForDestruction ,
  OpenServiceInCorruptedState , OpenUnableToCreateServiceTag , OpenVersionMismatch , CreateInterrupt ,
  CreateAlreadyExists , CreateInternalFailure , CreateIsBeingCreatedByAnotherInstance , CreateInsufficientPermissions ,
  CreateHangsInCreation , CreateServiceInCorruptedState , CreateUnableToCreateServiceTag , CreateServiceConfigCouldNotBeCreated ,
  SystemInFlux
}
 
enum class  ServiceDetailsError : uint8_t {
  Interrupt , InsufficientPermissions , FailedToOpenStaticServiceInfo , FailedToReadStaticServiceInfo ,
  FailedToDeserializeStaticServiceInfo , ServiceInInconsistentState , VersionMismatch , InternalError ,
  FailedToAcquireNodeState
}
 
enum class  ServiceListError : uint8_t { InsufficientPermissions , InternalError }
 
enum class  ServiceType : uint8_t { Local , Ipc }
 
enum class  SignalHandlingMode : uint8_t { HandleTerminationRequests , Disabled }
 
enum class  SubscriberCreateError : uint8_t { ExceedsMaxSupportedSubscribers , BufferSizeExceedsMaxSupportedBufferSizeOfService , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 
enum class  TypeVariant : uint8_t { FixedSize , Dynamic }
 
enum class  WaitSetCreateError : uint8_t { InsufficientResources , InternalError }
 Defines the failures that can occur when calling [WaitSetBuilder::create()]. More...
 
enum class  WaitSetRunResult : uint8_t { TerminationRequest , Interrupt , StopRequest , AllEventsHandled }
 States why the [WaitSet::run()] method returned. More...
 
enum class  WaitSetAttachmentError : uint8_t { InsufficientCapacity , AlreadyAttached , InternalError , InsufficientResources }
 
enum class  WaitSetRunError : uint8_t {
  InsufficientPermissions , InternalError , NoAttachments , TerminationRequest ,
  Interrupt
}
 Defines the failures that can occur when calling [WaitSet::run()]. More...
 
enum class  WriterCreateError : uint8_t { ExceedsMaxSupportedWriters , InternalFailure , FailedToDeployThreadsafetyPolicy , UnableToCreatePortTag }
 

Functions

template<ServiceType S, typename KeyType , typename ValueType >
auto loan_uninit (EntryHandleMut< S, KeyType, ValueType > &&self) -> EntryValueUninit< S, KeyType, ValueType >
 
template<ServiceType S, typename KeyType , typename ValueType >
auto update_with_copy (EntryValueUninit< S, KeyType, ValueType > &&self, ValueType value) -> EntryHandleMut< S, KeyType, ValueType >
 
template<ServiceType S, typename KeyType , typename ValueType >
auto discard (EntryValueUninit< S, KeyType, ValueType > &&self) -> EntryHandleMut< S, KeyType, ValueType >
 
template<ServiceType S, typename KeyType , typename ValueType >
auto assume_init_and_update (EntryValueUninit< S, KeyType, ValueType > &&self) -> EntryHandleMut< S, KeyType, ValueType >
 
auto operator<< (std::ostream &stream, const EventId &value) -> std::ostream &
 
auto operator== (const EventId &lhs, const EventId &rhs) -> bool
 
auto operator!= (const EventId &lhs, const EventId &rhs) -> bool
 
auto operator< (const EventId &lhs, const EventId &rhs) -> bool
 
auto operator<= (const EventId &lhs, const EventId &rhs) -> bool
 
auto operator> (const EventId &lhs, const EventId &rhs) -> bool
 
auto operator>= (const EventId &lhs, const EventId &rhs) -> bool
 
void wait_callback (const iox2_event_id_t *event_id, const uint64_t event_count, iox2_callback_context context)
 
void log (LogLevel log_level, const char *origin, const char *message)
 Adds a log message to the logger.
 
auto use_console_logger () -> bool
 Sets the console logger as default logger. Returns true if the logger was set, otherwise false.
 
auto use_file_logger (const char *log_file) -> bool
 Sets the file logger as default logger. Returns true if the logger was set, otherwise false.
 
auto set_logger (Log &logger) -> bool
 
auto set_log_level_from_env_or_default () -> void
 
auto set_log_level_from_env_or (LogLevel level) -> void
 
auto set_log_level (LogLevel level) -> void
 
auto get_log_level () -> LogLevel
 Returns the current global log level of the application.
 
template<typename KeyType >
auto list_keys_callback (const void *const key_ptr, void *ctx) -> iox2_callback_progression_e
 
template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto send (RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&request) -> bb::Expected< PendingResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >, RequestSendError >
 
template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto assume_init (RequestMutUninit< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&self) -> RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 
template<ServiceType Service, typename ResponsePayload , typename ResponseUserHeader >
auto send (ResponseMut< Service, ResponsePayload, ResponseUserHeader > &&response) -> bb::Expected< void, SendError >
 
template<ServiceType Service, typename ResponsePayload , typename ResponseUserHeader >
auto assume_init (ResponseMutUninit< Service, ResponsePayload, ResponseUserHeader > &&self) -> ResponseMut< Service, ResponsePayload, ResponseUserHeader >
 
template<ServiceType S, typename Payload , typename UserHeader >
auto send (SampleMut< S, Payload, UserHeader > &&sample) -> bb::Expected< size_t, SendError >
 
template<ServiceType S, typename Payload , typename UserHeader >
auto assume_init (SampleMutUninit< S, Payload, UserHeader > &&self) -> SampleMut< S, Payload, UserHeader >
 
template<typename Payload , typename UserHeader , ServiceType S>
auto set_payload_type_details (ServiceBuilderPublishSubscribe< Payload, UserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< Payload, bb::Slice< CustomPayloadMarker > >::value >
 
template<typename Payload , typename UserHeader , ServiceType S>
auto set_user_header_type_details (ServiceBuilderPublishSubscribe< Payload, UserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< UserHeader, CustomHeaderMarker >::value >
 
template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto set_request_header_type_details (ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< RequestUserHeader, CustomHeaderMarker >::value >
 
template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto set_response_header_type_details (ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< ResponseUserHeader, CustomHeaderMarker >::value >
 
template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto set_request_payload_type_details (ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< RequestPayload, bb::Slice< CustomPayloadMarker > >::value >
 
template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto set_response_payload_type_details (ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &builder, const TypeDetail &value) -> std::enable_if_t< std::is_same< ResponsePayload, bb::Slice< CustomPayloadMarker > >::value >
 
template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
void ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S >set_parameters ()
 
auto operator<< (std::ostream &stream, const UniqueNodeId &node) -> std::ostream &
 
auto operator== (const UniqueNodeId &lhs, const UniqueNodeId &rhs) -> bool
 
auto operator!= (const UniqueNodeId &lhs, const UniqueNodeId &rhs) -> bool
 
auto operator== (const UniquePublisherId &lhs, const UniquePublisherId &rhs) -> bool
 
auto operator< (const UniquePublisherId &lhs, const UniquePublisherId &rhs) -> bool
 
auto operator== (const UniqueSubscriberId &lhs, const UniqueSubscriberId &rhs) -> bool
 
auto operator< (const UniqueSubscriberId &lhs, const UniqueSubscriberId &rhs) -> bool
 
auto operator== (const UniqueNotifierId &lhs, const UniqueNotifierId &rhs) -> bool
 
auto operator< (const UniqueNotifierId &lhs, const UniqueNotifierId &rhs) -> bool
 
auto operator== (const UniqueListenerId &lhs, const UniqueListenerId &rhs) -> bool
 
auto operator< (const UniqueListenerId &lhs, const UniqueListenerId &rhs) -> bool
 
auto operator== (const UniqueClientId &lhs, const UniqueClientId &rhs) -> bool
 
auto operator< (const UniqueClientId &lhs, const UniqueClientId &rhs) -> bool
 
auto operator== (const UniqueServerId &lhs, const UniqueServerId &rhs) -> bool
 
auto operator< (const UniqueServerId &lhs, const UniqueServerId &rhs) -> bool
 
auto operator== (const UniqueReaderId &lhs, const UniqueReaderId &rhs) -> bool
 
auto operator< (const UniqueReaderId &lhs, const UniqueReaderId &rhs) -> bool
 
auto operator== (const UniqueWriterId &lhs, const UniqueWriterId &rhs) -> bool
 
auto operator< (const UniqueWriterId &lhs, const UniqueWriterId &rhs) -> bool
 
template<ServiceType S>
auto operator== (const WaitSetAttachmentId< S > &lhs, const WaitSetAttachmentId< S > &rhs) -> bool
 
template<ServiceType S>
auto operator< (const WaitSetAttachmentId< S > &lhs, const WaitSetAttachmentId< S > &rhs) -> bool
 
template<ServiceType S>
auto operator<< (std::ostream &stream, const WaitSetAttachmentId< S > &self) -> std::ostream &
 

Variables

constexpr uint64_t UNIQUE_PORT_ID_LENGTH = 16
 

Detailed Description

Todo:
iox-#1755 the content of this file should be customizable; in order to achieve this, this file will be moved to iceoryx_hoofs |- customization |- log |- iceoryx_hoofs |- log |- logger.hpp the iceoryx_hoofs/customization/log path can then be set via cmake argument or toolchain file and by default will point the the implementation in iceoryx_hoofs. This is similar to the iceoryx_platform customization.

Typedef Documentation

◆ BackpressureHandler

The backpressure handler invoked when a sample could not be delivered

Parameters
[in]BackpressureInfois a reference to [BackpressureInfo] with additional information for the user to handle the incident

@eturn The [BackpressureAction] to be taken to mitigate the incident

Definition at line 83 of file backpressure_handler.hpp.

◆ DegradationHandler

The degradation handler invoked when a degradation is detected

Parameters
[in]DegradationCauseis the cause that triggered the handler
[in]DegradationInfois a reference to [DegradationInfo] with additional information for the user to handle the incident

@eturn The [DegradationAction] to be taken to mitigate the degradation

Definition at line 75 of file degradation_handler.hpp.

◆ OverridePreallocationCallback

Definition at line 26 of file callback_context.hpp.

◆ RawIdType

Definition at line 23 of file unique_port_id.hpp.

◆ TypeName

using iox2::TypeName = typedef iox2::bb::StaticString<IOX2_TYPE_NAME_LENGTH>

Definition at line 21 of file type_name.hpp.

Enumeration Type Documentation

◆ AllocationStrategy

enum class iox2::AllocationStrategy : uint8_t
strong

Describes generically an [AllocationStrategy], meaning how the memory is increased when the available memory is insufficient.

Enumerator
BestFit 

Increases the memory so that it perfectly fits the new size requirements. This may lead to a lot of reallocations but has the benefit that no byte is wasted.

PowerOfTwo 

Increases the memory by rounding the increased memory size up to the next power of two. Reduces reallocations a lot at the cost of increased memory usage.

Static 

The memory is not increased. This may lead to an out-of-memory error when allocating.

Definition at line 21 of file allocation_strategy.hpp.

◆ AttributeDefinitionError

enum class iox2::AttributeDefinitionError : uint8_t
strong

Failures that can occur when defining [Attribute]s with [AttributeSpecifier::define()].

Enumerator
ExceedsMaxSupportedAttributes 

The new [Attribute] would exceed the maximum supported number of [Attribute]s.

Definition at line 28 of file attribute_error.hpp.

◆ AttributeVerificationError

enum class iox2::AttributeVerificationError : uint8_t
strong

Failures that can occur when the [AttributeVerifier] fails the verification.

Enumerator
NonExistingKey 

A key defined via [AttributeVerifier::require_key()] is missing.

IncompatibleAttribute 

A key defined via [AttributeVerifier::require()] has the wrong value.

Definition at line 20 of file attribute_error.hpp.

◆ BackpressureAction

enum class iox2::BackpressureAction : uint8_t
strong

Defines the action that shall be take when data cannot be delivered.

Enumerator
FollowBackpressureyStrategy 

Use an action which is derived from the BackpressureStrategy

Retry 

Retry to send and invoke the handler again, if sending does not succeed.

DiscardData 

Discard the data for the receiver which cause the incident and continue to deliver the data to the remaining receivers

DiscardDataAndFail 

Discard the data for the receiver which caused the incident, continue to deliver the data to the remaining receivers; return with an error if the data was not delivered to all receivers

Definition at line 20 of file backpressure_action.hpp.

◆ BackpressureStrategy

enum class iox2::BackpressureStrategy : uint8_t
strong

Defines the strategy a sender shall pursue when the buffer of the receiver is full and the service does not overflow.

Enumerator
RetryUntilDelivered 

Retries until the receiver has consumed some data from the full buffer and there is space again

DiscardData 

Do not deliver the data to receiver with a full buffer.

Definition at line 21 of file backpressure_strategy.hpp.

◆ BlackboardCreateError

enum class iox2::BlackboardCreateError : uint8_t
strong

Errors that can occur when a new [MessagingPattern::Blackboard] [Service] shall be created.

Enumerator
Interrupt 

An interrupt signal was raised.

AlreadyExists 

The [Service] already exists.

IsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

InsufficientPermissions 

The process has insufficient permissions to create the [Service].

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

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 them up.

ServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

Definition at line 57 of file service_builder_blackboard_error.hpp.

◆ BlackboardOpenError

enum class iox2::BlackboardOpenError : uint8_t
strong

Errors that can occur when an existing [MessagingPattern::Blackboard] [Service] shall be opened.

Enumerator
Interrupt 

An interrupt signal was raised.

DoesNotExist 

The [Service] could not be opened since it does not exist.

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

IncompatibleKeys 

The [Service] has the wrong key type.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

IncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

DoesNotSupportRequestedAmountOfReaders 

The [Service] supports less [Reader](crate::port::reader::Reader)s than requested.

InsufficientPermissions 

The process has not enough permissions to open the [Service].

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

IsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

ExceedsMaxNumberOfNodes 

The maximum number of [Node](crate::node::Node)s have already opened the [Service].

DoesNotSupportRequestedAmountOfNodes 

The [Service] supports less [Node](crate::node::Node)s than requested.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

VersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

Definition at line 20 of file service_builder_blackboard_error.hpp.

◆ CallbackProgression

enum class iox2::CallbackProgression : uint8_t
strong
Enumerator
Continue 
Stop 

Definition at line 19 of file callback_progression.hpp.

◆ ClientCreateError

enum class iox2::ClientCreateError : uint8_t
strong

Defines a failure that can occur when a [Client] is created with [PortFactoryClient].

Enumerator
UnableToCreateDataSegment 

The datasegment in which the payload of the [Client] is stored, could not be created.

ExceedsMaxSupportedClients 

The maximum amount of [Client]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Client]s can be created for a specific [Service].

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service](crate::service::Service) as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

MaxActiveRequestsExceedsMaxSupportedActiveRequestsOfService 

When the [Client] requires more acitve requests than the [Service] offers, the creation will fail.

Definition at line 21 of file client_error.hpp.

◆ ConfigCreationError

enum class iox2::ConfigCreationError : uint8_t
strong

Failures occurring while creating a new [Config] object with [Config::from_file()].

Enumerator
FailedToReadConfigFileContents 

The config file could not be read.

UnableToDeserializeContents 

Parts of the config file could not be deserialized. Indicates some kind of syntax error.

InsufficientPermissions 

Insufficient permissions to open the config file.

ConfigFileDoesNotExist 

The provided config file does not exist.

UnableToOpenConfigFile 

The config file could not be opened due to an internal error.

Definition at line 20 of file config_creation_error.hpp.

◆ ConnectionFailure

enum class iox2::ConnectionFailure : uint8_t
strong

Describes the errors that can occur when a connection between two endpoints (ports) is established

Enumerator
FailedToEstablishConnection 

Failures when creating the connection.

UnableToMapSendersDataSegment 

Failures when mapping the corresponding data segment.

Definition at line 21 of file connection_failure.hpp.

◆ DegradationAction

enum class iox2::DegradationAction : uint8_t
strong

Defines the action that shall be take when an degradation is detected. This can happen when data cannot be delivered, or when the system is corrupted and files are modified by non-iceoryx2 instances. Is used as return value of the [DegradationHandler] to define a custom behavior.

Enumerator
Ignore 

Ignore the degradation completely.

Warn 

Print out a warning as soon as the degradation is detected.

DegradeAndFail 

Returns a failure in the function the degradation was detected.

Definition at line 23 of file degradation_action.hpp.

◆ DegradationCause

enum class iox2::DegradationCause : uint8_t
strong

Defines the cause of a degradation and is a parameter of the [DegradationHandler].

Enumerator
FailedToEstablishConnection 

Connection could not be established.

ConnectionCorrupted 

Connection is corrupted.

Definition at line 20 of file degradation_cause.hpp.

◆ EntryHandleError

enum class iox2::EntryHandleError : uint8_t
strong

Defines a failure that can occur when a [EntryHandle] is created with [Reader::entry()].

Enumerator
EntryDoesNotExist 

The entry with the given key and value type does not exist.

Definition at line 20 of file entry_handle_error.hpp.

◆ EntryHandleMutError

enum class iox2::EntryHandleMutError : uint8_t
strong

Defines a failure that can occur when a [EntryHandleMut] is created with [Writer::entry()].

Enumerator
EntryDoesNotExist 

The entry with the given key and value type does not exist.

HandleAlreadyExists 

The [EntryHandleMut] already exists.

Definition at line 20 of file entry_handle_mut_error.hpp.

◆ EventCreateError

enum class iox2::EventCreateError : uint8_t
strong

Failures that can occur when a new [MessagingPattern::Event] [Service] shall be created.

Enumerator
Interrupt 

An interrupt signal was raised.

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

AlreadyExists 

The [Service] already exists.

InsufficientPermissions 

The process has insufficient permissions to create the [Service].

OldConnectionsStillActive 

The system has cleaned up the [Service] but there are still endpoints like [Publisher] or [Subscriber] alive or [Sample] or [SampleMut] in use.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

ServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

Definition at line 82 of file service_builder_event_error.hpp.

◆ EventOpenError

enum class iox2::EventOpenError : uint8_t
strong

Failures that can occur when an existing [MessagingPattern::Event] [Service] shall be opened.

Enumerator
Interrupt 

An interrupt signal was raised.

DoesNotExist 

The [Service] does not exist.

InsufficientPermissions 

The process has not enough permissions to open the [Service].

ServiceInCorruptedState 

Some underlying resources of the [Service] do not exist which indicate a corrupted [Service]state.

IncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

IncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

DoesNotSupportRequestedAmountOfNotifiers 

The [Service] supports less [Notifier]s than requested.

DoesNotSupportRequestedAmountOfListeners 

The [Service] supports less [Listener]s than requested.

DoesNotSupportRequestedMaxEventId 

The [Service] supported [EventId] is smaller than the requested max [EventId].

DoesNotSupportRequestedAmountOfNodes 

The [Service] supports less [Node]s than requested.

ExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

IsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

IncompatibleDeadline 

The [Service]s deadline settings are not equal the the user given requirements.

IncompatibleNotifierCreatedEvent 

The event id that is emitted for a newly created [Notifier](crate::port::notifier::Notifier) does not fit the required event id.

IncompatibleNotifierDroppedEvent 

The event id that is emitted if a [Notifier](crate::port::notifier::Notifier) is dropped does not fit the required event id.

IncompatibleNotifierDeadEvent 

The event id that is emitted if a [Notifier](crate::port::notifier::Notifier) is identified as dead does not fit the required event id.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

VersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

Definition at line 20 of file service_builder_event_error.hpp.

◆ EventOpenOrCreateError

enum class iox2::EventOpenOrCreateError : uint8_t
strong

Failures that can occur when a [MessagingPattern::Event] [Service] shall be opened or created.

Enumerator
OpenInterrupt 

An interrupt signal was raised.

OpenDoesNotExist 

The [Service] does not exist.

OpenInsufficientPermissions 

The process has not enough permissions to open the [Service].

OpenServiceInCorruptedState 

Some underlying resources of the [Service] do not exist which indicate a corrupted [Service]state.

OpenIncompatibleDeadline 

The [Service]s deadline settings are not equal the the user given requirements.

OpenIncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

OpenIncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

OpenIncompatibleNotifierCreatedEvent 

The event id that is emitted for a newly created [Notifier](crate::port::notifier::Notifier) does not fit the required event id.

OpenIncompatibleNotifierDroppedEvent 

The event id that is emitted if a [Notifier](crate::port::notifier::Notifier) is dropped does not fit the required event id.

OpenIncompatibleNotifierDeadEvent 

The event id that is emitted if a [Notifier](crate::port::notifier::Notifier) is identified as dead does not fit the required event id.

OpenInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

OpenHangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

OpenDoesNotSupportRequestedAmountOfNotifiers 

The [Service] supports less [Notifier]s than requested.

OpenDoesNotSupportRequestedAmountOfListeners 

The [Service] supports less [Listener]s than requested.

OpenDoesNotSupportRequestedMaxEventId 

The [Service] supported [EventId] is smaller than the requested max [EventId].

OpenDoesNotSupportRequestedAmountOfNodes 

The [Service] supports less [Node]s than requested.

OpenExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

OpenIsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

OpenUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

OpenVersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

CreateInterrupt 

An interrupt signal was raised.

CreateServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

CreateInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

CreateIsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

CreateAlreadyExists 

The [Service] already exists.

CreateInsufficientPermissions 

The process has insufficient permissions to create the [Service].

CreateOldConnectionsStillActive 

The system has cleaned up the [Service] but there are still endpoints like [Publisher] or [Subscriber] alive or [Sample] or [SampleMut] in use.

SystemInFlux 

Can occur when another process creates and removes the same [Service] repeatedly with a high frequency.

CreateUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

CreateServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

Definition at line 112 of file service_builder_event_error.hpp.

◆ ListenerCreateError

enum class iox2::ListenerCreateError : uint8_t
strong

Defines the failures that can occur when a [Listener] is created with the [PortFactoryListener].

Enumerator
ExceedsMaxSupportedListeners 

The maximum amount of [Listener]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Listener]s can be created for a specific [Service].

ResourceCreationFailed 

An underlying resource of the [Service] could not be created

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file listener_error.hpp.

◆ ListenerWaitError

enum class iox2::ListenerWaitError : uint8_t
strong

Defines failures that can occur while waiting for a notification from a [Notifier] on a [Listener]

Enumerator
ContractViolation 

The notification payload did not satisfy the underlying contract.

InterruptSignal 

An interrupt signal was raised while waiting for a notification.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

Definition at line 38 of file listener_error.hpp.

◆ LoanError

enum class iox2::LoanError : uint8_t
strong

Defines a failure that can occur in [Publisher::loan()](crate::port::publisher::Publisher::loan()) and [Publisher::loan_uninit()](crate::port::publisher::Publisher::loan_uninit()) or is part of [SendError] emitted in

Enumerator
OutOfMemory 

The data segment does not have any more memory left.

ExceedsMaxLoanedSamples 

The maximum amount of data a user can borrow is defined in [crate::config::Config]. When this is exceeded those calls will fail.

ExceedsMaxLoanSize 

The provided slice size exceeds the configured max slice size. To send data with this size a new port has to be created with as a larger slice size or the port must be configured with an [AllocationStrategy](iceoryx2_cal::shm_allocator::AllocationStrategy).

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

Definition at line 23 of file port_error.hpp.

◆ LogLevel

enum class iox2::LogLevel : uint8_t
strong
Enumerator
Trace 
Debug 
Info 
Warn 
Error 
Fatal 

Definition at line 20 of file log_level.hpp.

◆ MessagingPattern

enum class iox2::MessagingPattern : uint8_t
strong
Enumerator
PublishSubscribe 

Unidirectional communication pattern where the [Publisher](crate::port::publisher::Publisher) sends arbitrary data to the [Subscriber](crate::port::subscriber::Subscriber)

Event 

Unidirectional communication pattern where the [Notifier](crate::port::notifier::Notifier) sends signals/events to the [Listener](crate::port::listener::Listener) which has the ability to sleep until a signal/event arrives. Building block to realize push-notifications.

RequestResponse 

Bidirectional communication pattern where the [Client](crate::port::client::Client) sends arbitrary data in form of requests to the [Server](crate::port::server::Server) and receives a stream of responses.

Blackboard 

Unidirectional communication pattern where the [Writer] writes arbitrary data to a key-value store which can be read by many [Reader]s.

Definition at line 20 of file messaging_pattern.hpp.

◆ NodeCleanupFailure

enum class iox2::NodeCleanupFailure : uint8_t
strong

Failures of [DeadNodeView::remove_stale_resources()] that occur when the stale resources of a dead [Node] are removed.

Enumerator
Interrupt 

The process received an interrupt signal while cleaning up all stale resources of a dead [Node].

InternalError 

Errors that indicate either an implementation issue or a wrongly configured system.

InsufficientPermissions 

The stale resources of a dead [Node] could not be removed since the process does not have sufficient permissions.

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.

AnotherInstanceIsCleaningUpTheNode 

Another instance has acquired the ownership of all resources and is currently cleaning up.

Definition at line 56 of file node_failure_enums.hpp.

◆ NodeCreationFailure

enum class iox2::NodeCreationFailure : uint8_t
strong

All failures that can occur in [NodeBuilder::create()].

Enumerator
InsufficientPermissions 

The process has insufficient permissions.

InternalError 

Maybe the configuration/system is broken since someone has removed/modified internal resources

SystemCorrupted 

Indicates that another "instance" on the system removed the resource required by the [Node].

Definition at line 44 of file node_failure_enums.hpp.

◆ NodeListFailure

enum class iox2::NodeListFailure : uint8_t
strong

All failures that can occur in [Node::list()].

Enumerator
InsufficientPermissions 

The process has insufficient permissions.

InternalError 

Maybe the configuration/system is broken since someone has removed/modified internal resources

Interrupt 

A SIGINT signal was received.

Definition at line 33 of file node_failure_enums.hpp.

◆ NodeWaitFailure

enum class iox2::NodeWaitFailure : uint8_t
strong

Defines all possible errors that can occur during [Node::wait()].

Enumerator
TerminationRequest 

SIGTERM signal was received.

Interrupt 

SIGINT signal was received.

Definition at line 21 of file node_wait_failure.hpp.

◆ NotifierCreateError

enum class iox2::NotifierCreateError : uint8_t
strong

Failures that can occur when a new [Notifier] is created with the [PortFactoryNotifier].

Enumerator
ExceedsMaxSupportedNotifiers 

The maximum amount of [Notifier]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Notifier]s can be created for a specific [Service].

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file notifier_error.hpp.

◆ NotifierNotifyError

enum class iox2::NotifierNotifyError : uint8_t
strong

Defines the failures that can occur while a [Notifier::notify()] call.

Enumerator
EventIdOutOfBounds 

A [Notifier::notify_with_custom_event_id()] was called and the provided [EventId] is greater than the maximum supported [EventId] by the [Service]

MissedDeadline 

The notification was delivered to all [Listener] ports but the deadline contract, the maximum time span between two notifications, of the [Service] was violated.

UnableToAcquireElapsedTime 

The notification was delivered but the elapsed system time could not be acquired. Therefore, it is unknown if the deadline was missed or not.

Definition at line 34 of file notifier_error.hpp.

◆ PublisherCreateError

enum class iox2::PublisherCreateError : uint8_t
strong

Defines a failure that can occur when a [Publisher] is created with [PortFactoryPublisher].

Enumerator
ExceedsMaxSupportedPublishers 

The maximum amount of [Publisher]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Publisher]s can be created for a specific [Service].

UnableToCreateDataSegment 

The datasegment in which the payload of the [Publisher] is stored, could not be created.

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 22 of file publisher_error.hpp.

◆ PublishSubscribeCreateError

enum class iox2::PublishSubscribeCreateError : uint8_t
strong

Errors that can occur when a new [MessagingPattern::PublishSubscribe] [Service] shall be created.

Enumerator
Interrupt 

An interrupt signal was raised.

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

SubscriberBufferMustBeLargerThanHistorySize 

Invalid [Service] configuration provided. The [Subscriber]s buffer size must be at least the size of the history. Otherwise, how could it hold the whole history?

AlreadyExists 

The [Service] already exists.

InsufficientPermissions 

The process has insufficient permissions to create the [Service].

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

ServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

Definition at line 79 of file service_builder_publish_subscribe_error.hpp.

◆ PublishSubscribeOpenError

enum class iox2::PublishSubscribeOpenError : uint8_t
strong

Errors that can occur when an existing [MessagingPattern::PublishSubscribe] [Service] shall be opened.

Enumerator
Interrupt 

An interrupt signal was raised.

DoesNotExist 

Service could not be openen since it does not exist.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IncompatibleTypes 

The [Service] has the wrong payload type.

IncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

IncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

DoesNotSupportRequestedMinBufferSize 

The [Service] has a lower minimum buffer size than requested.

DoesNotSupportRequestedMinHistorySize 

The [Service] has a lower minimum history size than requested.

DoesNotSupportRequestedMinSubscriberBorrowedSamples 

The [Service] has a lower minimum subscriber borrow size than requested.

DoesNotSupportRequestedAmountOfPublishers 

The [Service] supports less [Publisher]s than requested.

DoesNotSupportRequestedAmountOfSubscribers 

The [Service] supports less [Subscriber]s than requested.

DoesNotSupportRequestedAmountOfNodes 

The [Service] supports less [Node]s than requested.

IncompatibleOverflowBehavior 

The [Service] required overflow behavior is not compatible.

InsufficientPermissions 

The process has not enough permissions to open the [Service].

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

ExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

IsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

VersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

Definition at line 21 of file service_builder_publish_subscribe_error.hpp.

◆ PublishSubscribeOpenOrCreateError

enum class iox2::PublishSubscribeOpenOrCreateError : uint8_t
strong

Errors that can occur when a [MessagingPattern::PublishSubscribe] [Service] shall be created or opened.

Enumerator
OpenInterrupt 

An interrupt signal was raised.

OpenDoesNotExist 

Service could not be openen since it does not exist.

OpenInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

OpenIncompatibleTypes 

The [Service] has the wrong payload type.

OpenIncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

OpenIncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

OpenDoesNotSupportRequestedMinBufferSize 

The [Service] has a lower minimum buffer size than requested.

OpenDoesNotSupportRequestedMinHistorySize 

The [Service] has a lower minimum history size than requested.

OpenDoesNotSupportRequestedMinSubscriberBorrowedSamples 

The [Service] has a lower minimum subscriber borrow size than requested.

OpenDoesNotSupportRequestedAmountOfPublishers 

The [Service] supports less [Publisher]s than requested.

OpenDoesNotSupportRequestedAmountOfSubscribers 

The [Service] supports less [Subscriber]s than requested.

OpenDoesNotSupportRequestedAmountOfNodes 

The [Service] supports less [Node]s than requested.

OpenIncompatibleOverflowBehavior 

The [Service] required overflow behavior is not compatible.

OpenInsufficientPermissions 

The process has not enough permissions to open the [Service].

OpenServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

OpenHangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

OpenExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

OpenIsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

OpenUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

OpenVersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

CreateInterrupt 

An interrupt signal was raised.

CreateServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

CreateSubscriberBufferMustBeLargerThanHistorySize 

Invalid [Service] configuration provided. The [Subscriber]s buffer size must be at least the size of the history. Otherwise, how could it hold the whole history?

CreateAlreadyExists 

The [Service] already exists.

CreateInsufficientPermissions 

The process has insufficient permissions to create the [Service].

CreateInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

CreateIsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

CreateHangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

CreateUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

CreateServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

SystemInFlux 

Can occur when another process creates and removes the same [Service] repeatedly with a high frequency.

Definition at line 111 of file service_builder_publish_subscribe_error.hpp.

◆ ReaderCreateError

enum class iox2::ReaderCreateError : uint8_t
strong

Defines a failure that can occur when a [Reader] is created with [PortFactoryReader].

Enumerator
ExceedsMaxSupportedReaders 

The maximum amount of [Reader]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Reader]s can be created for a specific [Service].

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file reader_error.hpp.

◆ ReceiveError

enum class iox2::ReceiveError : uint8_t
strong

Defines the failure that can occur when receiving data with [Subscriber::receive()](crate::port::subscriber::Subscriber::receive()).

Enumerator
ExceedsMaxBorrows 

The maximum amount of data a user can borrow with is defined in [crate::config::Config]. When this is exceeded no more data can be received until the user has released older data.

FailedToEstablishConnection 

Occurs when a receiver is unable to connect to a corresponding sender.

UnableToMapSendersDataSegment 

Failures when mapping the corresponding data segment.

Definition at line 66 of file port_error.hpp.

◆ RequestResponseCreateError

enum class iox2::RequestResponseCreateError : uint8_t
strong

Errors that can occur when a new [MessagingPattern::RequestResponse] [Service] shall be created.

Enumerator
Interrupt 

An interrupt signal was raised.

AlreadyExists 

The [Service] already exists.

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

InsufficientPermissions 

The process has insufficient permissions to create the [Service].

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

ServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

Definition at line 77 of file service_builder_request_response_error.hpp.

◆ RequestResponseOpenError

enum class iox2::RequestResponseOpenError : uint8_t
strong

Errors that can occur when an existing [MessagingPattern::RequestResponse] [Service] shall be opened.

Enumerator
Interrupt 

An interrupt signal was raised.

DoesNotExist 

Service could not be openen since it does not exist.

DoesNotSupportRequestedAmountOfClientRequestLoans 

The [Service] has a lower maximum amount of loaned [RequestMut] for a [Client].

DoesNotSupportRequestedAmountOfActiveRequestsPerClient 

The [Service] has a lower maximum amount of [ActiveRequest]s than requested.

DoesNotSupportRequestedResponseBufferSize 

The [Service] has a lower maximum response buffer size than requested.

DoesNotSupportRequestedAmountOfServers 

The [Service] has a lower maximum number of servers than requested.

DoesNotSupportRequestedAmountOfClients 

The [Service] has a lower maximum number of clients than requested.

DoesNotSupportRequestedAmountOfNodes 

The [Service] has a lower maximum number of nodes than requested.

DoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse 

The [Service] has a lower maximum number of [Response] borrows than requested.

ExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

HangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

IncompatibleRequestOrResponseType 

The [Service] has the wrong request or response payload type, request or response header type or type alignment.

IncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

IncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

IncompatibleOverflowBehaviorForRequests 

The [Service] required overflow behavior for requests is not compatible.

IncompatibleOverflowBehaviorForResponses 

The [Service] required overflow behavior for responses is not compatible.

IncompatibleBehaviorForFireAndForgetRequests 

The [Service] does not support the required behavior for fire and forget requests.

InsufficientPermissions 

The process has not enough permissions to open the [Service].

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

IsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

ServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

UnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

VersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

Definition at line 21 of file service_builder_request_response_error.hpp.

◆ RequestResponseOpenOrCreateError

enum class iox2::RequestResponseOpenOrCreateError : uint8_t
strong

Errors that can occur when a [MessagingPattern::RequestResponse] [Service] shall be created or opened.

Enumerator
OpenInterrupt 

An interrupt signal was raised.

OpenDoesNotExist 

Service could not be openen since it does not exist.

OpenDoesNotSupportRequestedAmountOfClientRequestLoans 

The [Service] has a lower maximum amount of loaned [RequestMut] for a [Client].

OpenDoesNotSupportRequestedAmountOfActiveRequestsPerClient 

The [Service] has a lower maximum amount of [ActiveRequest]s than requested.

OpenDoesNotSupportRequestedResponseBufferSize 

The [Service] has a lower maximum response buffer size than requested.

OpenDoesNotSupportRequestedAmountOfServers 

The [Service] has a lower maximum number of servers than requested.

OpenDoesNotSupportRequestedAmountOfClients 

The [Service] has a lower maximum number of clients than requested.

OpenDoesNotSupportRequestedAmountOfNodes 

The [Service] has a lower maximum number of nodes than requested.

OpenDoesNotSupportRequestedAmountOfBorrowedResponsesPerPendingResponse 

The [Service] has a lower maximum number of [Response] borrows than requested.

OpenExceedsMaxNumberOfNodes 

The maximum number of [Node]s have already opened the [Service].

OpenHangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

OpenIncompatibleRequestOrResponseType 

The [Service] has the wrong request or response payload type, request or response header type or type alignment.

OpenIncompatibleAttributes 

The [AttributeVerifier] required attributes that the [Service] does not satisfy.

OpenIncompatibleMessagingPattern 

The [Service] has the wrong messaging pattern.

OpenIncompatibleOverflowBehaviorForRequests 

The [Service] required overflow behavior for requests is not compatible.

OpenIncompatibleOverflowBehaviorForResponses 

The [Service] required overflow behavior for responses is not compatible.

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].

OpenInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

OpenIsMarkedForDestruction 

The [Service] is marked for destruction and currently cleaning up since no one is using it anymore. When the call creation call is repeated with a little delay the [Service] should be recreatable.

OpenServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

OpenUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

OpenVersionMismatch 

The iceoryx2 service version does not match the one of the [Service].

CreateInterrupt 

An interrupt signal was raised.

CreateAlreadyExists 

The [Service] already exists.

CreateInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

CreateIsBeingCreatedByAnotherInstance 

Multiple processes are trying to create the same [Service].

CreateInsufficientPermissions 

The process has insufficient permissions to create the [Service].

CreateHangsInCreation 

The [Service]s creation timeout has passed and it is still not initialized. Can be caused by a process that crashed during [Service] creation.

CreateServiceInCorruptedState 

Some underlying resources of the [Service] are either missing, corrupted or unaccessible.

CreateUnableToCreateServiceTag 

The [Node] service tag could not be created. Required to track resources of dead nodes when cleaning them up.

CreateServiceConfigCouldNotBeCreated 

The [Service]s config could not be created and written to the static service configuration.

SystemInFlux 

Can occur when another process creates and removes the same [Service] repeatedly with a high frequency.

Definition at line 101 of file service_builder_request_response_error.hpp.

◆ RequestSendError

enum class iox2::RequestSendError : uint8_t
strong

Failure that can be emitted when a [RequestMut] is sent.

Enumerator
ExceedsMaxActiveRequests 

Sending this [RequestMut] exceeds the maximum supported amount of active requests. When a [PendingResponse] object is released another [RequestMut] can be sent.

ConnectionBrokenSinceSenderNoLongerExists 

Send was called but the corresponding port went already out of scope.

ConnectionCorrupted 

A connection between two ports has been corrupted.

LoanErrorOutOfMemory 

The data segment does not have any more memory left.

LoanErrorExceedsMaxLoans 

The maximum amount of data a user can borrow is defined in [crate::config::Config]. When this is exceeded those calls will fail.

LoanErrorExceedsMaxLoanSize 

The provided slice size exceeds the configured max slice size. To send data with this size a new port has to be created with as a larger slice size or the port must be configured with an [AllocationStrategy](iceoryx2_cal::shm_allocator::AllocationStrategy).

LoanErrorInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

ConnectionError 

A failure occurred while establishing a connection to the ports counterpart port.

UnableToDeliver 

The request could not be delivered.

InternalError 

An internal mechanisms failed and the data could not be delivered to all receivers.

Definition at line 80 of file port_error.hpp.

◆ SendError

enum class iox2::SendError : uint8_t
strong

Failure that can be emitted when data is sent.

Enumerator
ConnectionBrokenSinceSenderNoLongerExists 

Send was called but the corresponding port went already out of scope.

ConnectionCorrupted 

A connection between two ports has been corrupted.

LoanErrorOutOfMemory 

The data segment does not have any more memory left.

LoanErrorExceedsMaxLoans 

The maximum amount of data a user can borrow is defined in [crate::config::Config]. When this is exceeded those calls will fail.

LoanErrorExceedsMaxLoanSize 

The provided slice size exceeds the configured max slice size. To send data with this size a new port has to be created with as a larger slice size or the port must be configured with an [AllocationStrategy](iceoryx2_cal::shm_allocator::AllocationStrategy).

LoanErrorInternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

ConnectionError 

A failure occurred while establishing a connection to the ports counterpart port.

UnableToDeliver 

The sample could not be delivered.

InternalError 

An internal mechanisms failed and the data could not be delivered to all receivers.

Definition at line 39 of file port_error.hpp.

◆ ServerCreateError

enum class iox2::ServerCreateError : uint8_t
strong

Defines a failure that can occur when a [Server] is created with [PortFactoryServer].

Enumerator
ExceedsMaxSupportedServers 

The maximum amount of [Server]s supported by the [Service] is already connected.

UnableToCreateDataSegment 

The datasegment in which the payload of the [Server] is stored, could not be created.

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file server_error.hpp.

◆ ServiceDetailsError

enum class iox2::ServiceDetailsError : uint8_t
strong
Enumerator
Interrupt 

An interrupt signal was raised.

InsufficientPermissions 

The process does not have the permissions to acquire the service details.

FailedToOpenStaticServiceInfo 

The underlying static [Service] information could not be opened.

FailedToReadStaticServiceInfo 

The underlying static [Service] information could not be read.

FailedToDeserializeStaticServiceInfo 

The underlying static [Service] information could not be deserialized. Can be caused by version mismatch or a corrupted file.

ServiceInInconsistentState 

Required [Service] resources are not available or corrupted.

VersionMismatch 

The [Service] was created with a different iceoryx2 version.

InternalError 

Errors that indicate either an implementation issue or a wrongly configured system.

FailedToAcquireNodeState 

The [NodeState] could not be acquired.

Definition at line 19 of file service_error_enums.hpp.

◆ ServiceListError

enum class iox2::ServiceListError : uint8_t
strong
Enumerator
InsufficientPermissions 

The process has insufficient permissions to list all [Service]s.

InternalError 

Errors that indicate either an implementation issue or a wrongly configured system.

Definition at line 43 of file service_error_enums.hpp.

◆ ServiceRemoveError

enum class iox2::ServiceRemoveError : uint8_t
strong

Error that can be reported when removing a [Node](crate::node::Node).

Enumerator
Interrupt 

An interrupt signal was received.

VersionMismatch 

The iceoryx2 version that created the [Node](crate::node::Node) does not match this iceoryx2 version.

InternalError 

Errors that indicate either an implementation issue or a wrongly configured system.

InsufficientPermissions 

The process does not have the permissions to remove the service.

Definition at line 20 of file node_failure_enums.hpp.

◆ ServiceType

enum class iox2::ServiceType : uint8_t
strong

Defines the type of the Service and what kind of resources and operating system mechanisms it shall use.

Enumerator
Local 

Optimized for inter-thread communication does not support inter-process communication.

Ipc 

Optimized for inter-process communication.

Definition at line 21 of file service_type.hpp.

◆ SignalHandlingMode

enum class iox2::SignalHandlingMode : uint8_t
strong

Defines how signals are handled by constructs that might register a custom [SignalHandler]

Enumerator
HandleTerminationRequests 

The signals SIGINT and SIGTERM are registered and handled. If such a Signal is received the user will be notified.

Disabled 

No signal handler will be registered.

Definition at line 21 of file signal_handling_mode.hpp.

◆ SubscriberCreateError

enum class iox2::SubscriberCreateError : uint8_t
strong

Describes the failures when a new [Subscriber] is created via the [PortFactorySubscriber].

Enumerator
ExceedsMaxSupportedSubscribers 

The maximum amount of [Subscriber]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Subscriber]s can be created for a specific [Service].

BufferSizeExceedsMaxSupportedBufferSizeOfService 

When the [Subscriber] requires a larger buffer size than the [Service] offers the creation will fail.

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file subscriber_error.hpp.

◆ TypeVariant

enum class iox2::TypeVariant : uint8_t
strong

Defines if the type is a slice with a runtime-size ([TypeVariant::Dynamic]) or if its a type that satisfies [Sized] ([TypeVariant::FixedSize]).

Enumerator
FixedSize 

A fixed size type like [u64].

Dynamic 

A dynamic sized type like a slice.

Definition at line 23 of file type_variant.hpp.

◆ WaitSetAttachmentError

enum class iox2::WaitSetAttachmentError : uint8_t
strong

Defines the failures that can occur when attaching something with [WaitSet::attach_notification()], [WaitSet::attach_interval()] or [WaitSet::attach_deadline()].

Enumerator
InsufficientCapacity 

The [WaitSet]s capacity is exceeded.

AlreadyAttached 

The attachment is already attached.

InternalError 

An internal error has occurred.

InsufficientResources 

Insufficient resources to add another attachment to the [WaitSet].

Definition at line 41 of file waitset_enums.hpp.

◆ WaitSetCreateError

enum class iox2::WaitSetCreateError : uint8_t
strong

Defines the failures that can occur when calling [WaitSetBuilder::create()].

Enumerator
InsufficientResources 

Insufficient resources to create a [WaitSet].

InternalError 

An internal error has occurred.

Definition at line 20 of file waitset_enums.hpp.

◆ WaitSetRunError

enum class iox2::WaitSetRunError : uint8_t
strong

Defines the failures that can occur when calling [WaitSet::run()].

Enumerator
InsufficientPermissions 

The process has not sufficient permissions to wait on the attachments.

InternalError 

An internal error has occurred.

NoAttachments 

Waiting on an empty [WaitSet] would lead to a deadlock therefore it causes an error.

TerminationRequest 

A termination signal SIGTERM was received.

Interrupt 

An interrupt signal SIGINT was received.

Definition at line 53 of file waitset_enums.hpp.

◆ WaitSetRunResult

enum class iox2::WaitSetRunResult : uint8_t
strong

States why the [WaitSet::run()] method returned.

Enumerator
TerminationRequest 

A termination signal SIGTERM was received.

Interrupt 

An interrupt signal SIGINT was received.

StopRequest 

The users callback returned [CallbackProgression::Stop].

AllEventsHandled 

All events were handled.

Definition at line 28 of file waitset_enums.hpp.

◆ WriterCreateError

enum class iox2::WriterCreateError : uint8_t
strong

Defines a failure that can occur when a [Writer] is created with [PortFactoryWriter].

Enumerator
ExceedsMaxSupportedWriters 

The maximum amount of [Writer]s that can connect to a [Service] is defined in [Config]. When this is exceeded no more [Writer]s can be created for a specific [Service].

InternalFailure 

Errors that indicate either an implementation issue or a wrongly configured system.

FailedToDeployThreadsafetyPolicy 

Caused by a failure when instantiating a [ArcSyncPolicy] defined in the [Service] as ArcThreadSafetyPolicy.

UnableToCreatePortTag 

The tracking port tag, required for cleanup, could not be created.

Definition at line 21 of file writer_error.hpp.

Function Documentation

◆ assume_init() [1/3]

◆ assume_init() [2/3]

template<ServiceType Service, typename ResponsePayload , typename ResponseUserHeader >
auto iox2::assume_init ( ResponseMutUninit< Service, ResponsePayload, ResponseUserHeader > &&  self) -> ResponseMut<Service, ResponsePayload, ResponseUserHeader>
inline

Definition at line 178 of file response_mut_uninit.hpp.

◆ assume_init() [3/3]

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::assume_init ( SampleMutUninit< S, Payload, UserHeader > &&  self) -> SampleMut<S, Payload, UserHeader>
inline

Acquires the ownership and converts the uninitialized [SampleMutUninit] into the initialized version [SampleMut].

Definition at line 91 of file sample_mut_uninit.hpp.

◆ assume_init_and_update()

template<ServiceType S, typename KeyType , typename ValueType >
auto iox2::assume_init_and_update ( EntryValueUninit< S, KeyType, ValueType > &&  self) -> EntryHandleMut<S, KeyType, ValueType>
inline

Definition at line 139 of file entry_value_uninit.hpp.

◆ discard()

template<ServiceType S, typename KeyType , typename ValueType >
auto iox2::discard ( EntryValueUninit< S, KeyType, ValueType > &&  self) -> EntryHandleMut<S, KeyType, ValueType>
inline

Definition at line 122 of file entry_value_uninit.hpp.

◆ get_log_level()

auto iox2::get_log_level ( ) -> LogLevel

Returns the current global log level of the application.

◆ list_keys_callback()

template<typename KeyType >
auto iox2::list_keys_callback ( const void *const  key_ptr,
void *  ctx 
) -> iox2_callback_progression_e

Definition at line 230 of file port_factory_blackboard.hpp.

◆ loan_uninit()

template<ServiceType S, typename KeyType , typename ValueType >
auto iox2::loan_uninit ( EntryHandleMut< S, KeyType, ValueType > &&  self) -> EntryValueUninit<S, KeyType, ValueType>
inline

Definition at line 98 of file entry_handle_mut.hpp.

◆ log()

void iox2::log ( LogLevel  log_level,
const char *  origin,
const char *  message 
)

Adds a log message to the logger.

◆ operator!=() [1/2]

auto iox2::operator!= ( const EventId lhs,
const EventId rhs 
) -> bool

◆ operator!=() [2/2]

auto iox2::operator!= ( const UniqueNodeId lhs,
const UniqueNodeId rhs 
) -> bool

◆ operator<() [1/10]

auto iox2::operator< ( const EventId lhs,
const EventId rhs 
) -> bool

◆ operator<() [2/10]

auto iox2::operator< ( const UniqueClientId lhs,
const UniqueClientId rhs 
) -> bool

◆ operator<() [3/10]

auto iox2::operator< ( const UniqueListenerId lhs,
const UniqueListenerId rhs 
) -> bool

◆ operator<() [4/10]

auto iox2::operator< ( const UniqueNotifierId lhs,
const UniqueNotifierId rhs 
) -> bool

◆ operator<() [5/10]

auto iox2::operator< ( const UniquePublisherId lhs,
const UniquePublisherId rhs 
) -> bool

◆ operator<() [6/10]

auto iox2::operator< ( const UniqueReaderId lhs,
const UniqueReaderId rhs 
) -> bool

◆ operator<() [7/10]

auto iox2::operator< ( const UniqueServerId lhs,
const UniqueServerId rhs 
) -> bool

◆ operator<() [8/10]

auto iox2::operator< ( const UniqueSubscriberId lhs,
const UniqueSubscriberId rhs 
) -> bool

◆ operator<() [9/10]

auto iox2::operator< ( const UniqueWriterId lhs,
const UniqueWriterId rhs 
) -> bool

◆ operator<() [10/10]

template<ServiceType S>
auto iox2::operator< ( const WaitSetAttachmentId< S > &  lhs,
const WaitSetAttachmentId< S > &  rhs 
) -> bool

◆ operator<<() [1/3]

auto iox2::operator<< ( std::ostream &  stream,
const EventId value 
) -> std::ostream &

◆ operator<<() [2/3]

auto iox2::operator<< ( std::ostream &  stream,
const UniqueNodeId node 
) -> std::ostream &

◆ operator<<() [3/3]

template<ServiceType S>
auto iox2::operator<< ( std::ostream &  stream,
const WaitSetAttachmentId< S > &  self 
) -> std::ostream &

◆ operator<=()

auto iox2::operator<= ( const EventId lhs,
const EventId rhs 
) -> bool

◆ operator==() [1/11]

auto iox2::operator== ( const EventId lhs,
const EventId rhs 
) -> bool

◆ operator==() [2/11]

auto iox2::operator== ( const UniqueClientId lhs,
const UniqueClientId rhs 
) -> bool

◆ operator==() [3/11]

auto iox2::operator== ( const UniqueListenerId lhs,
const UniqueListenerId rhs 
) -> bool

◆ operator==() [4/11]

auto iox2::operator== ( const UniqueNodeId lhs,
const UniqueNodeId rhs 
) -> bool

◆ operator==() [5/11]

auto iox2::operator== ( const UniqueNotifierId lhs,
const UniqueNotifierId rhs 
) -> bool

◆ operator==() [6/11]

auto iox2::operator== ( const UniquePublisherId lhs,
const UniquePublisherId rhs 
) -> bool

◆ operator==() [7/11]

auto iox2::operator== ( const UniqueReaderId lhs,
const UniqueReaderId rhs 
) -> bool

◆ operator==() [8/11]

auto iox2::operator== ( const UniqueServerId lhs,
const UniqueServerId rhs 
) -> bool

◆ operator==() [9/11]

auto iox2::operator== ( const UniqueSubscriberId lhs,
const UniqueSubscriberId rhs 
) -> bool

◆ operator==() [10/11]

auto iox2::operator== ( const UniqueWriterId lhs,
const UniqueWriterId rhs 
) -> bool

◆ operator==() [11/11]

template<ServiceType S>
auto iox2::operator== ( const WaitSetAttachmentId< S > &  lhs,
const WaitSetAttachmentId< S > &  rhs 
) -> bool

◆ operator>()

auto iox2::operator> ( const EventId lhs,
const EventId rhs 
) -> bool

◆ operator>=()

auto iox2::operator>= ( const EventId lhs,
const EventId rhs 
) -> bool

◆ send() [1/3]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::send ( RequestMut< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&  request) -> bb::Expected<PendingResponse<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>, RequestSendError>
inline

Definition at line 261 of file request_mut.hpp.

References iox2::bb::err().

◆ send() [2/3]

template<ServiceType Service, typename ResponsePayload , typename ResponseUserHeader >
auto iox2::send ( ResponseMut< Service, ResponsePayload, ResponseUserHeader > &&  response) -> bb::Expected<void, SendError>
inline

Definition at line 202 of file response_mut.hpp.

References iox2::bb::err().

◆ send() [3/3]

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::send ( SampleMut< S, Payload, UserHeader > &&  sample) -> bb::Expected<size_t, SendError>
inline

Definition at line 225 of file sample_mut.hpp.

References iox2::bb::err().

◆ ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S >set_parameters()

template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
void iox2::ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S >set_parameters ( )
inline

Definition at line 544 of file service_builder_request_response.hpp.

◆ set_log_level()

auto iox2::set_log_level ( LogLevel  level) -> void

Sets the global log level for the application

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ set_log_level_from_env_or()

auto iox2::set_log_level_from_env_or ( LogLevel  level) -> void

Sets the global log level for the application using IOX2_LOG_LEVEL environment variable or sets it to a user-given value if variable does not exist.

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ set_log_level_from_env_or_default()

auto iox2::set_log_level_from_env_or_default ( ) -> void

Sets the global log level for the application using IOX2_LOG_LEVEL environment variable or defaults it to LogLevel::INFO if variable does not exist.

Important

When using external frameworks, the log level should be set explicitly, as only messages matching that level will be forwarded. You may also need to configure the framework’s own log level settings.

◆ set_logger()

auto iox2::set_logger ( Log logger) -> bool

Sets the logger that shall be used. This function can only be called once and must be called before any log message was created. It returns true if the logger was set, otherwise false.

◆ set_payload_type_details()

template<typename Payload , typename UserHeader , ServiceType S>
auto iox2::set_payload_type_details ( ServiceBuilderPublishSubscribe< Payload, UserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<Payload, bb::Slice<CustomPayloadMarker>>::value>
inline

Overrides the payload type details with values provided at runtime instead of derived from the compile-time Payload. Only available for bb::Slice<CustomPayloadMarker>.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the payload type that is loaned, sent and received at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 347 of file service_builder_publish_subscribe.hpp.

◆ set_request_header_type_details()

template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto iox2::set_request_header_type_details ( ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<RequestUserHeader, CustomHeaderMarker>::value>
inline

Overrides the request user header type details with values provided at runtime instead of derived from the compile-time RequestUserHeader. Only available for CustomHeaderMarker.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the request user header type that is accessed at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 796 of file service_builder_request_response.hpp.

◆ set_request_payload_type_details()

template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto iox2::set_request_payload_type_details ( ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<RequestPayload, bb::Slice<CustomPayloadMarker>>::value>
inline

Overrides the request payload type details with values provided at runtime instead of derived from the compile-time RequestPayload. Only available for bb::Slice<CustomPayloadMarker>.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the request payload type that is loaned, sent and received at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 818 of file service_builder_request_response.hpp.

◆ set_response_header_type_details()

template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto iox2::set_response_header_type_details ( ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<ResponseUserHeader, CustomHeaderMarker>::value>
inline

Overrides the response user header type details with values provided at runtime instead of derived from the compile-time ResponseUserHeader. Only available for CustomHeaderMarker.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the response user header type that is accessed at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 807 of file service_builder_request_response.hpp.

◆ set_response_payload_type_details()

template<typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader , ServiceType S>
auto iox2::set_response_payload_type_details ( ServiceBuilderRequestResponse< RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<ResponsePayload, bb::Slice<CustomPayloadMarker>>::value>
inline

Overrides the response payload type details with values provided at runtime instead of derived from the compile-time ResponsePayload. Only available for bb::Slice<CustomPayloadMarker>.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the response payload type that is loaned, sent and received at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 829 of file service_builder_request_response.hpp.

◆ set_user_header_type_details()

template<typename Payload , typename UserHeader , ServiceType S>
auto iox2::set_user_header_type_details ( ServiceBuilderPublishSubscribe< Payload, UserHeader, S > &  builder,
const TypeDetail value 
) -> std::enable_if_t<std::is_same<UserHeader, CustomHeaderMarker>::value>
inline

Overrides the user header type details with values provided at runtime instead of derived from the compile-time UserHeader. Only available for CustomHeaderMarker.

Safety

  • It is preferred to let the type details be derived from the provided type; overriding them is only meant for advanced usage.
  • The provided [TypeDetail] must accurately describe the user header type that is accessed at runtime; a mismatching size or alignment leads to undefined behavior.

Definition at line 340 of file service_builder_publish_subscribe.hpp.

◆ update_with_copy()

template<ServiceType S, typename KeyType , typename ValueType >
auto iox2::update_with_copy ( EntryValueUninit< S, KeyType, ValueType > &&  self,
ValueType  value 
) -> EntryHandleMut<S, KeyType, ValueType>
inline

Definition at line 110 of file entry_value_uninit.hpp.

◆ use_console_logger()

auto iox2::use_console_logger ( ) -> bool

Sets the console logger as default logger. Returns true if the logger was set, otherwise false.

◆ use_file_logger()

auto iox2::use_file_logger ( const char *  log_file) -> bool

Sets the file logger as default logger. Returns true if the logger was set, otherwise false.

◆ wait_callback()

void iox2::wait_callback ( const iox2_event_id_t *  event_id,
const uint64_t  event_count,
iox2_callback_context  context 
)
inline

Variable Documentation

◆ UNIQUE_PORT_ID_LENGTH

constexpr uint64_t iox2::UNIQUE_PORT_ID_LENGTH = 16
constexpr

Definition at line 22 of file unique_port_id.hpp.