Fast DDS  Version 3.0.0
Fast DDS
Loading...
Searching...
No Matches
UDPTransportDescriptor Struct Reference

UDP Transport configuration. More...

#include <UDPTransportDescriptor.hpp>

Inheritance diagram for UDPTransportDescriptor:

Public Member Functions

virtual ~UDPTransportDescriptor ()=default
 Destructor.
 
FASTDDS_EXPORTED_API UDPTransportDescriptor ()
 Constructor.
 
FASTDDS_EXPORTED_API UDPTransportDescriptor (const UDPTransportDescriptor &t)=default
 Copy constructor.
 
FASTDDS_EXPORTED_API UDPTransportDescriptoroperator= (const UDPTransportDescriptor &t)=default
 Copy assignment.
 
FASTDDS_EXPORTED_API bool operator== (const UDPTransportDescriptor &t) const
 Comparison operator.
 
- Public Member Functions inherited from SocketTransportDescriptor
FASTDDS_EXPORTED_API SocketTransportDescriptor (uint32_t maximumMessageSize, uint32_t maximumInitialPeersRange)
 Constructor.
 
FASTDDS_EXPORTED_API SocketTransportDescriptor (const SocketTransportDescriptor &t)=default
 Copy constructor.
 
FASTDDS_EXPORTED_API SocketTransportDescriptoroperator= (const SocketTransportDescriptor &t)=default
 Copy assignment.
 
virtual FASTDDS_EXPORTED_API ~SocketTransportDescriptor ()=default
 Destructor.
 
virtual FASTDDS_EXPORTED_API uint32_t min_send_buffer_size () const override
 Returns the minimum size required for a send operation.
 
bool FASTDDS_EXPORTED_API operator== (const SocketTransportDescriptor &t) const
 Comparison operator.
 
- Public Member Functions inherited from PortBasedTransportDescriptor
FASTDDS_EXPORTED_API PortBasedTransportDescriptor (uint32_t maximumMessageSize, uint32_t maximumInitialPeersRange)
 Constructor.
 
FASTDDS_EXPORTED_API PortBasedTransportDescriptor (const PortBasedTransportDescriptor &t)=default
 Copy constructor.
 
FASTDDS_EXPORTED_API PortBasedTransportDescriptoroperator= (const PortBasedTransportDescriptor &t)=default
 Copy assignment.
 
virtual FASTDDS_EXPORTED_API ~PortBasedTransportDescriptor ()=default
 Destructor.
 
bool FASTDDS_EXPORTED_API operator== (const PortBasedTransportDescriptor &t) const
 Comparison operator.
 
virtual FASTDDS_EXPORTED_API const ThreadSettingsget_thread_config_for_port (uint32_t port) const
 Get the ThreadSettings for a specific port.
 
virtual FASTDDS_EXPORTED_API bool set_thread_config_for_port (const uint32_t &port, const ThreadSettings &thread_settings)
 
FASTDDS_EXPORTED_API const ThreadSettingsdefault_reception_threads () const
 Returns the ThreadSettings for the default reception threads.
 
virtual FASTDDS_EXPORTED_API void default_reception_threads (const ThreadSettings &default_reception_threads)
 Set the ThreadSettings for the default reception threads.
 
FASTDDS_EXPORTED_API const ReceptionThreadsConfigMapreception_threads () const
 Returns the ThreadSettings for the user-configured reception threads.
 
virtual FASTDDS_EXPORTED_API bool reception_threads (const ReceptionThreadsConfigMap &reception_threads)
 Set the ThreadSettings for the user-configured reception threads.
 
- Public Member Functions inherited from TransportDescriptorInterface
FASTDDS_EXPORTED_API TransportDescriptorInterface (uint32_t maximumMessageSize, uint32_t maximumInitialPeersRange)
 Constructor.
 
FASTDDS_EXPORTED_API TransportDescriptorInterface (const TransportDescriptorInterface &t)
 Copy constructor.
 
FASTDDS_EXPORTED_API TransportDescriptorInterfaceoperator= (const TransportDescriptorInterface &t)
 Copy assignment.
 
virtual FASTDDS_EXPORTED_API ~TransportDescriptorInterface ()=default
 Destructor.
 
virtual FASTDDS_EXPORTED_API TransportInterfacecreate_transport () const =0
 Factory method pattern.
 
virtual FASTDDS_EXPORTED_API uint32_t max_message_size () const
 Returns the maximum size expected for received messages.
 
virtual FASTDDS_EXPORTED_API uint32_t max_initial_peers_range () const
 Returns the maximum number of opened channels for each initial remote peer (maximum number of guessed initial peers to try to connect)
 
FASTDDS_EXPORTED_API bool operator== (const TransportDescriptorInterface &t) const
 Comparison operator.
 
FASTDDS_EXPORTED_API void lock ()
 Lock internal mutex (for Fast-DDS internal use)
 
FASTDDS_EXPORTED_API void unlock ()
 Unlock internal mutex (for Fast-DDS internal use)
 

Public Attributes

uint16_t m_output_udp_socket
 Source port to use for outgoing datagrams.
 
bool non_blocking_send = false
 Whether to use non-blocking calls to send_to().
 
- Public Attributes inherited from SocketTransportDescriptor
uint32_t sendBufferSize
 Length of the send buffer.
 
uint32_t receiveBufferSize
 Length of the receive buffer.
 
std::vector< std::string > interfaceWhiteList
 Allowed interfaces in an IP or device name string format.
 
NetmaskFilterKind netmask_filter
 Transport's netmask filter configuration.
 
std::vector< AllowedNetworkInterfaceinterface_allowlist
 Allowed interfaces in an IP or device name string format, each with a specific netmask filter configuration.
 
std::vector< BlockedNetworkInterfaceinterface_blocklist
 Blocked interfaces in an IP or device name string format.
 
uint8_t TTL
 Specified time to live (8bit - 255 max TTL)
 
- Public Attributes inherited from TransportDescriptorInterface
uint32_t maxMessageSize
 Maximum size of a single message in the transport.
 
uint32_t maxInitialPeersRange
 Number of channels opened with each initial remote peer.
 

Additional Inherited Members

- Public Types inherited from PortBasedTransportDescriptor
using ReceptionThreadsConfigMap = std::map< uint32_t, ThreadSettings >
 
- Protected Attributes inherited from PortBasedTransportDescriptor
ThreadSettings default_reception_threads_
 Thread settings for the default reception threads.
 
ReceptionThreadsConfigMap reception_threads_
 Thread settings for the specific reception threads, indexed by port.
 

Detailed Description

UDP Transport configuration.

  • m_output_udp_socket: source port to use for outgoing datagrams.
  • non_blocking_send: do not block on send operations. When it is set to true, send operations will return immediately if the buffer is full, but no error will be returned to the upper layer. This means that the application will behave as if the datagram is sent and lost.

Constructor & Destructor Documentation

◆ ~UDPTransportDescriptor()

virtual ~UDPTransportDescriptor ( )
virtualdefault

Destructor.

◆ UDPTransportDescriptor() [1/2]

FASTDDS_EXPORTED_API UDPTransportDescriptor ( )

Constructor.

◆ UDPTransportDescriptor() [2/2]

FASTDDS_EXPORTED_API UDPTransportDescriptor ( const UDPTransportDescriptor t)
default

Copy constructor.

Member Function Documentation

◆ operator=()

FASTDDS_EXPORTED_API UDPTransportDescriptor & operator= ( const UDPTransportDescriptor t)
default

Copy assignment.

◆ operator==()

FASTDDS_EXPORTED_API bool operator== ( const UDPTransportDescriptor t) const

Comparison operator.

Member Data Documentation

◆ m_output_udp_socket

uint16_t m_output_udp_socket

Source port to use for outgoing datagrams.

◆ non_blocking_send

bool non_blocking_send = false

Whether to use non-blocking calls to send_to().

When set to true, calls to send_to() will return immediately if the buffer is full, but no error will be returned to the upper layer. This means that the application will behave as if the datagram is sent but lost (i.e. throughput may be reduced). This value is specially useful on high-frequency best-effort writers.

When set to false, calls to send_to() will block until the network buffer has space for the datagram. This may hinder performance on high-frequency writers.


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