Safe DDS
eprosima::safedds Namespace Reference

Namespaces

 dds
 
 discovery
 
 execution
 
 memory
 
 platform
 
 portable
 
 protocol
 
 serialization
 
 transport
 

Enumerations

enum class  ModuleID : uint8_t {
  SAFEDDS = 0x00 , SERIALIZATION = 0x01 , PROTOCOL = 0x02 , RTPS = 0x03 ,
  PARAMETER = 0x04 , CONTAINER = 0x05 , TRANSPORT = 0x06 , DATACENTRIC = 0x07 ,
  DISCOVERY = 0x08 , DDS = 0x09
}
 ID of each project module. More...
 
enum class  ReturnCode : uint32_t {
  OK = GENERATE_RETURN_CODE(ModuleID::SAFEDDS, 0x00U, dds::ReturnCode::OK) , ERROR = GENERATE_RETURN_CODE(ModuleID::SAFEDDS, 0x01U, dds::ReturnCode::ERROR) , UNIMPLEMENTED = GENERATE_RETURN_CODE(ModuleID::SAFEDDS, 0x02U, dds::ReturnCode::ERROR) , NOT_ENABLED = GENERATE_RETURN_CODE(ModuleID::SAFEDDS, 0x03U, dds::ReturnCode::NOT_ENABLED) ,
  SERIALIZATION_INVALID_ARGUMENT , SERIALIZATION_INVALID_BUFFER_LENGTH , SERIALIZATION_NOT_ENOUGH_MEMORY , SERIALIZATION_INVALID_REPRESENTATION ,
  PROTOCOL_MESSAGE_ERROR = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x01U, dds::ReturnCode::ERROR) , PROTOCOL_UNKNOWN_MESSAGE = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x02U, dds::ReturnCode::ERROR) , PROTOCOL_INVALID_MESSAGE_HEADER = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x03U, dds::ReturnCode::ERROR) , PROTOCOL_SUBMESSAGE_INVALID = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x04U, dds::ReturnCode::ERROR) ,
  PROTOCOL_INVALID_SOURCE = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x05U, dds::ReturnCode::PRECONDITION_NOT_MET) , PROTOCOL_INVALID_MSG_LENGTH , PROTOCOL_INVALID_FRAGMENT_INFO = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x08U, dds::ReturnCode::ERROR) , PROTOCOL_INTEGRITY_CHECK_FAILED ,
  PROTOCOL_INTEGRITY_NOT_PRESENT , PROTOCOL_INTEGRITY_NOT_SUPPORTED = GENERATE_RETURN_CODE(ModuleID::PROTOCOL, 0x0BU, dds::ReturnCode::UNSUPPORTED) , PROTOCOL_INVALID_SEQUENCE_NUMBER , RTPS_NO_MATCH_FOUND ,
  RTPS_REPEATED_SUBMESSAGE , RTPS_NOT_ENOUGH_MEMORY , RTPS_REPEATED_PROXY , RTPS_WRONG_PROXY ,
  RTPS_WRONG_PAYLOAD , RTPS_IGNORING_SUBMESSAGE , RTPS_OLD_SUBMESSAGE , RTPS_REPEATED_DATA ,
  RTPS_INCOMPATIBLE_RELIABILITY , PARAMETER_WRONG_ALIGNMENT , CONTAINER_BITMAP_OUT_OF_RANGE , CONTAINER_BITMAP_IS_EMPTY ,
  CONTAINER_BITMAP_EMPTY_RANGE , TRANSPORT_WRONG_LOCATOR , TRANSPORT_CONF_ERROR , TRANSPORT_NOT_INITIALIZED ,
  TRANSPORT_INVALID_IP , TRANSPORT_ERROR , TRANSPORT_INVALID_TIMEPOINT , TRANSPORT_TIMEOUT ,
  TRANSPORT_OUT_OF_RESOURCES , TRANSPORT_LOCATOR_ALREADY_OPENED , DATACENTRIC_NOT_ENOUGH_MEMORY , DATACENTRIC_SAMPLE_NOT_FOUND ,
  DATACENTRIC_NO_PAYLOAD = GENERATE_RETURN_CODE(ModuleID::DATACENTRIC, 0x03U, dds::ReturnCode::BAD_PARAMETER) , DATACENTRIC_REPEATED_SAMPLE , DATACENTRIC_STORAGE_ERROR = GENERATE_RETURN_CODE(ModuleID::DATACENTRIC, 0x05U, dds::ReturnCode::ERROR) , DISCOVERY_UNSUPPORTED_QOS = GENERATE_RETURN_CODE(ModuleID::DISCOVERY, 0x01U, dds::ReturnCode::UNSUPPORTED) ,
  DISCOVERY_REPEATED_ENTITY = GENERATE_RETURN_CODE(ModuleID::DISCOVERY, 0x02U, dds::ReturnCode::PRECONDITION_NOT_MET) , DISCOVERY_NOT_ENOUGH_MEMORY = GENERATE_RETURN_CODE(ModuleID::DISCOVERY, 0x03U, dds::ReturnCode::OUT_OF_RESOURCES) , DISCOVERY_SERIALIZATION_ERROR = GENERATE_RETURN_CODE(ModuleID::DISCOVERY, 0x04U, dds::ReturnCode::ERROR) , DDS_NOT_ENOUGH_MEMORY = GENERATE_RETURN_CODE(ModuleID::DDS, 0x01U, dds::ReturnCode::OUT_OF_RESOURCES)
}
 Unified return codes for all modules across application. More...
 

Functions

constexpr uint32_t GENERATE_RETURN_CODE (ModuleID module, uint32_t specific_rc, dds::ReturnCode dds_rc) noexcept
 Utility for generating ReturnCode enum. More...
 
constexpr dds::ReturnCode convert_return_code (const ReturnCode ret_code) noexcept
 Converter function for ReturnCode to dds::ReturnCode. More...
 

Variables

constexpr uint8_t RETURN_CODE_MODULE_ID_SHIFT = 8U
 Constant for shifting MODULEID. More...
 
constexpr uint8_t RETURN_CODE_SPECIFIC_SHIFT = 16U
 Constant for shifting specific code. More...
 

Enumeration Type Documentation

◆ ModuleID

enum eprosima::safedds::ModuleID : uint8_t
strong

ID of each project module.

Enumerator
SAFEDDS 
SERIALIZATION 
PROTOCOL 
RTPS 
PARAMETER 
CONTAINER 
TRANSPORT 
DATACENTRIC 
DISCOVERY 
DDS 

◆ ReturnCode

enum eprosima::safedds::ReturnCode : uint32_t
strong

Unified return codes for all modules across application.

Each return code its build from a specific code, module ID and dds::ReturnCode, which can be extracted from a single return code value.

Enumerator
OK 
ERROR 
UNIMPLEMENTED 
NOT_ENABLED 
SERIALIZATION_INVALID_ARGUMENT 
SERIALIZATION_INVALID_BUFFER_LENGTH 
SERIALIZATION_NOT_ENOUGH_MEMORY 
SERIALIZATION_INVALID_REPRESENTATION 
PROTOCOL_MESSAGE_ERROR 
PROTOCOL_UNKNOWN_MESSAGE 
PROTOCOL_INVALID_MESSAGE_HEADER 
PROTOCOL_SUBMESSAGE_INVALID 
PROTOCOL_INVALID_SOURCE 
PROTOCOL_INVALID_MSG_LENGTH 
PROTOCOL_INVALID_FRAGMENT_INFO 
PROTOCOL_INTEGRITY_CHECK_FAILED 
PROTOCOL_INTEGRITY_NOT_PRESENT 
PROTOCOL_INTEGRITY_NOT_SUPPORTED 
PROTOCOL_INVALID_SEQUENCE_NUMBER 
RTPS_NO_MATCH_FOUND 
RTPS_REPEATED_SUBMESSAGE 
RTPS_NOT_ENOUGH_MEMORY 
RTPS_REPEATED_PROXY 
RTPS_WRONG_PROXY 
RTPS_WRONG_PAYLOAD 
RTPS_IGNORING_SUBMESSAGE 
RTPS_OLD_SUBMESSAGE 
RTPS_REPEATED_DATA 
RTPS_INCOMPATIBLE_RELIABILITY 
PARAMETER_WRONG_ALIGNMENT 
CONTAINER_BITMAP_OUT_OF_RANGE 
CONTAINER_BITMAP_IS_EMPTY 
CONTAINER_BITMAP_EMPTY_RANGE 
TRANSPORT_WRONG_LOCATOR 
TRANSPORT_CONF_ERROR 
TRANSPORT_NOT_INITIALIZED 
TRANSPORT_INVALID_IP 
TRANSPORT_ERROR 
TRANSPORT_INVALID_TIMEPOINT 
TRANSPORT_TIMEOUT 
TRANSPORT_OUT_OF_RESOURCES 
TRANSPORT_LOCATOR_ALREADY_OPENED 
DATACENTRIC_NOT_ENOUGH_MEMORY 
DATACENTRIC_SAMPLE_NOT_FOUND 
DATACENTRIC_NO_PAYLOAD 
DATACENTRIC_REPEATED_SAMPLE 
DATACENTRIC_STORAGE_ERROR 
DISCOVERY_UNSUPPORTED_QOS 
DISCOVERY_REPEATED_ENTITY 
DISCOVERY_NOT_ENOUGH_MEMORY 
DISCOVERY_SERIALIZATION_ERROR 
DDS_NOT_ENOUGH_MEMORY 

Function Documentation

◆ convert_return_code()

constexpr dds::ReturnCode eprosima::safedds::convert_return_code ( const ReturnCode  ret_code)
constexprnoexcept

Converter function for ReturnCode to dds::ReturnCode.

This function extracts the standardized DDS API dds::ReturnCode from a more specific ReturnCode.

Parameters
[in]ret_codeReturnCode
Returns
dds::ReturnCode

◆ GENERATE_RETURN_CODE()

constexpr uint32_t eprosima::safedds::GENERATE_RETURN_CODE ( ModuleID  module,
uint32_t  specific_rc,
dds::ReturnCode  dds_rc 
)
constexprnoexcept

Utility for generating ReturnCode enum.

Each return code is an uint32_t built shifting a ModuleId value, an specific code and dds::ReturnCode.

[specific Code uint16_t] + [ModuleID uint8_t] + [dds::ReturnCode uint8_t]

Parameters
[in]moduleinput module id.
[in]specific_rcspecific return code.
[in]dds_rcDDS return code.
Returns
Combined return code uint32_t.

Variable Documentation

◆ RETURN_CODE_MODULE_ID_SHIFT

constexpr uint8_t eprosima::safedds::RETURN_CODE_MODULE_ID_SHIFT = 8U
constexpr

Constant for shifting MODULEID.

◆ RETURN_CODE_SPECIFIC_SHIFT

constexpr uint8_t eprosima::safedds::RETURN_CODE_SPECIFIC_SHIFT = 16U
constexpr

Constant for shifting specific code.