Safe DDS
eprosima::safedds::transport::Locator Class Reference

Stores remote address imformation. More...

#include <Locator.hpp>

Public Types

enum class  LocatorKind : int32_t {
  INVALID = -1 , RESERVED = 0 , UDPv4 = 1 , UDPv6 = 2 ,
  CUSTOM = INT32_MAX
}
 Locator.kind values reserved for known transport types. More...
 
using IPv4 = memory::container::Array< uint8_t, 4 >
 Type for IPv4 address. More...
 
using IPv6 = memory::container::Array< uint8_t, ADDRESS_SIZE >
 Type for IPv6 address. More...
 

Public Member Functions

ReturnCode get_ipv4 (IPv4 &ipv4) const noexcept
 Getter in Locator::IPv4 format. More...
 

Static Public Member Functions

static Locator from_ipv4 (const IPv4 &locator_ipv4, uint32_t locator_port) noexcept
 Get Locator from IPv4 address. More...
 

Public Attributes

LocatorKind kind
 Kind of locator. More...
 
uint32_t port
 Net port value. More...
 
memory::container::Array< uint8_t, ADDRESS_SIZEaddress
 Net address, size compatible with IPV4 and IPV6. More...
 

Static Public Attributes

constexpr static uint32_t ADDRESS_SIZE = 16
 Size of locator address octect array. More...
 
constexpr static uint32_t ADDRESS_IPV4_POS_1 = 12
 Address position of first IPv4 octect. More...
 
constexpr static uint32_t ADDRESS_IPV4_POS_2 = 13
 Address position of second IPv4 octect. More...
 
constexpr static uint32_t ADDRESS_IPV4_POS_3 = 14
 Address position of third IPv4 octect. More...
 
constexpr static uint32_t ADDRESS_IPV4_POS_4 = 15
 Address position of fourth IPv4 octect. More...
 
static constexpr uint32_t CDR_SERIALIZED_SIZE
 CDR serialized size. More...
 

Detailed Description

Stores remote address imformation.

Member Typedef Documentation

◆ IPv4

Type for IPv4 address.

◆ IPv6

Member Enumeration Documentation

◆ LocatorKind

Locator.kind values reserved for known transport types.

Enumerator
INVALID 
RESERVED 
UDPv4 
UDPv6 
CUSTOM 

Member Function Documentation

◆ from_ipv4()

static Locator eprosima::safedds::transport::Locator::from_ipv4 ( const IPv4 locator_ipv4,
uint32_t  locator_port 
)
staticnoexcept

Get Locator from IPv4 address.

Parameters
locator_ipv4IPv4 address.
locator_portport number.
Returns
Locator.

◆ get_ipv4()

ReturnCode eprosima::safedds::transport::Locator::get_ipv4 ( IPv4 ipv4) const
noexcept

Getter in Locator::IPv4 format.

Parameters
[out]ipv4output ipv4.
Returns
ReturnCode

Member Data Documentation

◆ address

memory::container::Array<uint8_t, ADDRESS_SIZE> eprosima::safedds::transport::Locator::address

Net address, size compatible with IPV4 and IPV6.

◆ ADDRESS_IPV4_POS_1

constexpr static uint32_t eprosima::safedds::transport::Locator::ADDRESS_IPV4_POS_1 = 12
staticconstexpr

Address position of first IPv4 octect.

◆ ADDRESS_IPV4_POS_2

constexpr static uint32_t eprosima::safedds::transport::Locator::ADDRESS_IPV4_POS_2 = 13
staticconstexpr

Address position of second IPv4 octect.

◆ ADDRESS_IPV4_POS_3

constexpr static uint32_t eprosima::safedds::transport::Locator::ADDRESS_IPV4_POS_3 = 14
staticconstexpr

Address position of third IPv4 octect.

◆ ADDRESS_IPV4_POS_4

constexpr static uint32_t eprosima::safedds::transport::Locator::ADDRESS_IPV4_POS_4 = 15
staticconstexpr

Address position of fourth IPv4 octect.

◆ ADDRESS_SIZE

constexpr static uint32_t eprosima::safedds::transport::Locator::ADDRESS_SIZE = 16
staticconstexpr

Size of locator address octect array.

◆ CDR_SERIALIZED_SIZE

constexpr uint32_t eprosima::safedds::transport::Locator::CDR_SERIALIZED_SIZE
staticconstexpr
Initial value:
=
portable::safe_sizeof<LocatorKind>() +
portable::safe_sizeof<uint32_t>() +
portable::safe_sizeof<uint8_t>() * ADDRESS_SIZE
constexpr static uint32_t ADDRESS_SIZE
Size of locator address octect array.
Definition: Locator.hpp:39

CDR serialized size.

◆ kind

LocatorKind eprosima::safedds::transport::Locator::kind

Kind of locator.

◆ port

uint32_t eprosima::safedds::transport::Locator::port

Net port value.


The documentation for this class was generated from the following file: