Class astutedds::rtps::RtpsUdpTransport
ClassList > astutedds > rtps > RtpsUdpTransport
RTPS UDP transport with full discovery and reliable delivery. More...
#include <udp_transport.hpp>
Classes
| Type | Name |
|---|---|
| struct | TopicTrafficStats Per-topic traffic counters (user data only, not discovery traffic) |
Public Types
| Type | Name |
|---|---|
| typedef std::function< void(const std::string &topicName, const std::vector< std::string > &fieldNames, const std::vector< uint8_t > &fieldKinds, const std::vector< ParsedTypeLookupReply::NestedFieldSchema > &nestedSchemas)> | TypeLookupCallback |
Public Functions
| Type | Name |
|---|---|
| RtpsUdpTransport (uint32_t domainId=0) |
|
| RtpsUdpTransport (uint32_t domainId, uint32_t participantId) |
|
| RtpsUdpTransport (const RtpsUdpTransport &) = delete |
|
| int32_t | current_user_ip_tos () const Last IP_TOS byte applied to the user-traffic unicast socket. |
| const DiscoveryConfig & | discovery_config () const |
| std::vector< DiscoveredReader > | get_all_discovered_readers () const Get all discovered readers across all topics (§8.5.4) |
| std::vector< DiscoveredTopic > | get_all_discovered_topics () const Get all discovered topics announced via SEDP DCPSTopic (§8.5.4.2). |
| std::vector< DiscoveredWriter > | get_all_discovered_writers () const Get all discovered writers across all topics (§8.5.3) |
| std::map< std::string, TopicTrafficStats > | get_all_traffic_stats () const Get current per-topic traffic statistics. |
| std::vector< DiscoveredParticipant > | get_discovered_participants () const Get discovered participants. |
| std::vector< DiscoveredReader > | get_discovered_readers (const std::string & topicName) const Get discovered readers for a topic. |
| std::vector< DiscoveredWriter > | get_discovered_writers (const std::string & topicName) const Get discovered writers for a topic. |
| DiscoveryRuntimeInfo | get_discovery_runtime_info () const Returns effective runtime discovery settings and peers. |
| const GuidPrefix_t & | guid_prefix () const Get the GUID prefix for this participant. |
| bool | init () Initialize the transport (creates sockets, starts discovery) |
| bool | is_running () const Check if transport is running. |
| bool | load_discovery_config_file (const std::string & path) |
| RtpsUdpTransport & | operator= (const RtpsUdpTransport &) = delete |
| uint32_t | participant_id () const Get the participant ID. |
| uint32_t | participant_lease_duration_seconds () const Current outbound PID_PARTICIPANT_LEASE_DURATION in seconds. |
| const std::vector< uint8_t > & | participant_user_data () const Get the currently configured local participant USER_DATA blob. |
| bool | publish (const std::string & topicName, const std::vector< uint8_t > & data) Publish data on a topic. |
| bool | publish (const std::string & topicName, const std::vector< uint8_t > & xcdr1Data, const std::vector< uint8_t > & xcdr2Data) Publish data on a topic with dual encoding. |
| bool | publish_coherent (const std::string & topicName, const std::vector< uint8_t > & xcdr1Data, const std::vector< uint8_t > & xcdr2Data, uint64_t inCoherentSetStartSn, bool endOfCoherentSet, uint64_t & outCoherentSetStartSn) Publish a sample as part of a RTPS 2.5 §8.7.6 coherent set. |
| bool | publish_dispose (const std::string & topicName, const std::vector< uint8_t > & xcdr1Data, const std::vector< uint8_t > & xcdr2Data, uint32_t statusInfoBits, int64_t tsSecondsOverride=-1, uint32_t tsFractionOverride=0) Emit a keyed DATA(K) DISPOSE / UNREGISTER on topicName . |
| EntityId_t | register_reader (const std::string & topicName, const std::string & typeName, const std::vector< std::string > & partitions={}, const dcps::DataReaderQos & qos={}, const std::vector< uint8_t > & contentFilterPayload={}, const std::vector< uint8_t > & topicData={}, const std::vector< uint8_t > & groupData={}) Register a reader for a topic. |
| void | register_topic_for_sedp (const std::string & topicName, const std::string & typeName, const dcps::TopicQos & qos) Register a locally-created Topic for SEDP DCPSTopic emission. |
| EntityId_t | register_writer (const std::string & topicName, const std::string & typeName, const std::vector< std::string > & partitions={}, const dcps::DataWriterQos & qos={}, const std::vector< uint8_t > & topicData={}, const std::vector< uint8_t > & groupData={}) Register a writer for a topic. |
| bool | reload_discovery_config () Reload the existing discovery JSON path (if configured). |
| void | send_participant_message_assertion (uint8_t kind) Emit a ParticipantMessageData sample on the built-in ParticipantMessage writer (entity id 00:02:00:c2), targeted at every discovered remote participant's metatraffic locator with an INFO_DST prefix. kind is the low byte of the 4-octet kind array — 0x01 for PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE, 0x02 for the MANUAL variant (RTPS §9.6.4.1). |
| void | send_type_lookup_request (const GuidPrefix_t & remoteGuid, const std::array< uint8_t, 4 > & metatrafficAddr, uint16_t metatrafficPort, const std::string & topicName, const std::array< uint8_t, 14 > & hash) |
| void | set_data_callback (DataReceivedCallback callback) Set callback for received data. |
| void | set_discovery_config (const DiscoveryConfig & config) Apply discovery config (explicit peers and interface filters). |
| void | set_dispose_callback (DisposeReceivedCallback callback) Set callback for received DISPOSE / UNREGISTER DATA(K) __ |
| void | set_participant_discovered_callback (ParticipantDiscoveredCallback callback) Set callback for participant discovery. |
| void | set_participant_lease_duration_seconds (uint32_t sec) Override the outbound SPDP PID_PARTICIPANT_LEASE_DURATION. Default is 100 s (RTPS 2.5 recommendation). Values below 1 s are clamped to 1 s to keep the sweeper margin sensible. Must be called before init() to affect the first announcement. |
| void | set_participant_lost_callback (ParticipantLostCallback callback) Set callback fired when a discovered remote participant is evicted from the cache (lease expiry today; SEDP DISPOSE in future). The callback runs on the discovery thread — callers must marshal to their own thread if needed. |
| void | set_participant_message_callback (ParticipantMessageCallback callback) Set callback fired when a ParticipantMessageData sample is received on the built-in ParticipantMessage reader (RTPS §8.4.13). The DCPS layer bridges this into LivelinessManager to refresh remote writer leases without waiting for user-data traffic. |
| void | set_participant_user_data (std::vector< uint8_t > data) Set the participant USER_DATA blob advertised in outbound SPDP (PID_USER_DATA, 0x002c). Must be called before init() . |
| void | set_reader_discovered_callback (ReaderDiscoveredCallback callback) Set callback for reader discovery. |
| void | set_reader_lost_callback (ReaderLostCallback callback) Set callback fired when a discovered remote reader is evicted (currently only as a cascade of participant eviction). |
| void | set_sample_lost_callback (SampleLostCallback callback) Set callback fired when a writer's GAP submessage (§8.3.7.4) marks sequence numbers as permanently unavailable that had not yet been delivered to the local reader. The DCPS layer uses this to raise DataReader::bump_sample_lost() so get_sample_lost_status() and on_sample_lost fire per DDS §2.2.4.1.7. |
| void | set_spdp_announce_interval_ms (uint32_t ms) Override the SPDP announcement interval. Default is 3000 ms. Values below 50 ms are clamped to 50 ms to avoid excessive wire traffic. Intended for tests and dense-topology tuning. |
| void | set_type_lookup_callback (TypeLookupCallback cb) Register a callback to receive type schema from TLS replies. |
| void | set_writer_discovered_callback (WriterDiscoveredCallback callback) Set callback for writer discovery. |
| void | set_writer_lost_callback (WriterLostCallback callback) Set callback fired when a discovered remote writer is evicted (currently only as a cascade of participant eviction). |
| uint32_t | spdp_announce_interval_ms () const Current SPDP announcement interval in milliseconds. |
| void | stop () Stop the transport. |
| void | subscribe (const std::string & topicName) Subscribe to a topic (enables reception) |
| void | test_inject_gap (const GuidPrefix_t & senderPrefix, const EntityId_t & writerEntityId, uint64_t gapStart, uint64_t gapListBase) Test-only: exercise parseGap directly with a synthetic contiguous [gapStart, gapListBase-1] range. Constructs the 28-byte GAP submessage body and dispatches it as if received from senderPrefix . Used by tests covering the GAP → DataReader::bump_sample_lost bridge (§1.1b-B item 7); not part of the normal transport contract. |
| void | unregister_reader (const EntityId_t & entityId) Unregister a reader. |
| bool | unregister_reader (const std::string & topicName) Unregister the reader registered for topicName . |
| void | unregister_writer (const EntityId_t & entityId) Unregister a writer. |
| bool | unregister_writer (const std::string & topicName) Unregister the writer registered for topicName . |
| void | unsubscribe (const std::string & topicName) Unsubscribe from a topic. |
| ~RtpsUdpTransport () |
Detailed Description
Provides interoperability with: * eProsima Fast DDS * Eclipse Cyclone DDS * RTI Connext DDS * OpenDDS
Public Types Documentation
typedef TypeLookupCallback
using astutedds::rtps::RtpsUdpTransport::TypeLookupCallback = std::function<void(const std::string& topicName, const std::vector<std::string>& fieldNames, const std::vector<uint8_t>& fieldKinds, const std::vector<ParsedTypeLookupReply::NestedFieldSchema>& nestedSchemas)>;
Callback fired when a TypeLookup_Reply delivers field names for a topic. Invoked from the receive thread — callers must marshal to their own thread.
Public Functions Documentation
function RtpsUdpTransport [1/3]
explicit astutedds::rtps::RtpsUdpTransport::RtpsUdpTransport (
uint32_t domainId=0
)
function RtpsUdpTransport [2/3]
astutedds::rtps::RtpsUdpTransport::RtpsUdpTransport (
uint32_t domainId,
uint32_t participantId
)
function RtpsUdpTransport [3/3]
astutedds::rtps::RtpsUdpTransport::RtpsUdpTransport (
const RtpsUdpTransport &
) = delete
function current_user_ip_tos
Last IP_TOS byte applied to the user-traffic unicast socket.
int32_t astutedds::rtps::RtpsUdpTransport::current_user_ip_tos () const
Reflects TRANSPORT_PRIORITY.value & 0xFF as of the most recent publish() / publish_dispose() call (DDS 1.4 §2.2.3.14, Phase 2.11.b). Zero when no writer with a non-zero priority has published yet, or when the underlying setsockopt(IP_TOS) call failed. Exposed for tests and diagnostic tooling.
function discovery_config
inline const DiscoveryConfig & astutedds::rtps::RtpsUdpTransport::discovery_config () const
function get_all_discovered_readers
Get all discovered readers across all topics (§8.5.4)
std::vector< DiscoveredReader > astutedds::rtps::RtpsUdpTransport::get_all_discovered_readers () const
function get_all_discovered_topics
Get all discovered topics announced via SEDP DCPSTopic (§8.5.4.2).
std::vector< DiscoveredTopic > astutedds::rtps::RtpsUdpTransport::get_all_discovered_topics () const
Returns topics announced by remote participants via the SEDP built-in Topics writer ({{00,00,02},c2}). Local topics are NOT included here — callers should union this list with the local topic registry (see DomainParticipant::get_discovered_topics).
function get_all_discovered_writers
Get all discovered writers across all topics (§8.5.3)
std::vector< DiscoveredWriter > astutedds::rtps::RtpsUdpTransport::get_all_discovered_writers () const
function get_all_traffic_stats
Get current per-topic traffic statistics.
std::map< std::string, TopicTrafficStats > astutedds::rtps::RtpsUdpTransport::get_all_traffic_stats () const
function get_discovered_participants
Get discovered participants.
std::vector< DiscoveredParticipant > astutedds::rtps::RtpsUdpTransport::get_discovered_participants () const
function get_discovered_readers
Get discovered readers for a topic.
std::vector< DiscoveredReader > astutedds::rtps::RtpsUdpTransport::get_discovered_readers (
const std::string & topicName
) const
function get_discovered_writers
Get discovered writers for a topic.
std::vector< DiscoveredWriter > astutedds::rtps::RtpsUdpTransport::get_discovered_writers (
const std::string & topicName
) const
function get_discovery_runtime_info
Returns effective runtime discovery settings and peers.
DiscoveryRuntimeInfo astutedds::rtps::RtpsUdpTransport::get_discovery_runtime_info () const
function guid_prefix
Get the GUID prefix for this participant.
inline const GuidPrefix_t & astutedds::rtps::RtpsUdpTransport::guid_prefix () const
function init
Initialize the transport (creates sockets, starts discovery)
bool astutedds::rtps::RtpsUdpTransport::init ()
Returns:
true on success
function is_running
Check if transport is running.
inline bool astutedds::rtps::RtpsUdpTransport::is_running () const
function load_discovery_config_file
bool astutedds::rtps::RtpsUdpTransport::load_discovery_config_file (
const std::string & path
)
Load discovery config from JSON file. Returns true on successful parse.
function operator=
RtpsUdpTransport & astutedds::rtps::RtpsUdpTransport::operator= (
const RtpsUdpTransport &
) = delete
function participant_id
Get the participant ID.
inline uint32_t astutedds::rtps::RtpsUdpTransport::participant_id () const
function participant_lease_duration_seconds
Current outbound PID_PARTICIPANT_LEASE_DURATION in seconds.
inline uint32_t astutedds::rtps::RtpsUdpTransport::participant_lease_duration_seconds () const
function participant_user_data
Get the currently configured local participant USER_DATA blob.
inline const std::vector< uint8_t > & astutedds::rtps::RtpsUdpTransport::participant_user_data () const
function publish [1/2]
Publish data on a topic.
bool astutedds::rtps::RtpsUdpTransport::publish (
const std::string & topicName,
const std::vector< uint8_t > & data
)
Parameters:
topicNameTopic namedataSerialized data (XCDR1 format)
Returns:
true on success
function publish [2/2]
Publish data on a topic with dual encoding.
bool astutedds::rtps::RtpsUdpTransport::publish (
const std::string & topicName,
const std::vector< uint8_t > & xcdr1Data,
const std::vector< uint8_t > & xcdr2Data
)
Parameters:
topicNameTopic namexcdr1DataSerialized data in XCDR1 formatxcdr2DataSerialized data in XCDR2 format
Returns:
true on success
Sends XCDR1 to multicast and readers that advertise XCDR1 (or no preference). Sends XCDR2 to readers that only advertise XCDR2.
function publish_coherent
Publish a sample as part of a RTPS 2.5 §8.7.6 coherent set.
bool astutedds::rtps::RtpsUdpTransport::publish_coherent (
const std::string & topicName,
const std::vector< uint8_t > & xcdr1Data,
const std::vector< uint8_t > & xcdr2Data,
uint64_t inCoherentSetStartSn,
bool endOfCoherentSet,
uint64_t & outCoherentSetStartSn
)
The DATA submessage is emitted with the Q flag set and inline QoS carrying PID_COHERENT_SET (0x0056) = the first-sample sequence number of the set. When endOfCoherentSet is true the sample also carries PID_END_COHERENT_SET (0x0057, an astutedds-specific closing marker) so peer AstuteDDS readers flush the buffered set on delivery of this sample.
Parameters:
topicNameTopic name.xcdr1Data/ xcdr2Data Serialised sample (dual-encoding).inCoherentSetStartSn0 for the FIRST sample of a set — the transport allocates the next sequence number and returns it viaoutCoherentSetStartSn. Non-zero for subsequent samples in the same set — used verbatim as the tag.endOfCoherentSettrue iff this is the LAST sample of the set (emits PID_END_COHERENT_SET).outCoherentSetStartSnOn return, the coherent-set start sequence number that was stamped on this sample. Callers pass this back ininCoherentSetStartSnfor subsequent samples of the same set.
Returns:
true on success.
function publish_dispose
Emit a keyed DATA(K) DISPOSE / UNREGISTER ontopicName .
bool astutedds::rtps::RtpsUdpTransport::publish_dispose (
const std::string & topicName,
const std::vector< uint8_t > & xcdr1Data,
const std::vector< uint8_t > & xcdr2Data,
uint32_t statusInfoBits,
int64_t tsSecondsOverride=-1,
uint32_t tsFractionOverride=0
)
DDS §2.2.2.4.2.13 / RTPS §8.7.4.1. The DATA submessage carries K=1, D=0, Q=1 (inline QoS with PID_STATUS_INFO=statusInfoBits and PID_KEY_HASH). xcdr1Data / xcdr2Data are the serialised sample bytes (including CDR encapsulation header) — readers extract the key from the encoded payload.
Called by DataWriter::dispose() / unregister_instance() via DomainParticipant::send_dispose().
Parameters:
tsSecondsOverrideIf non-negative, overrides the INFO_TS seconds field on the wire so callers (dispose_w_timestamp, DDS §2.2.2.4.2.14) can pin the source timestamp. Pass -1 to use the current wall clock.tsFractionOverrideFractional 2^-32 seconds companion to tsSecondsOverride (ignored when the seconds override is negative).
function register_reader
Register a reader for a topic.
EntityId_t astutedds::rtps::RtpsUdpTransport::register_reader (
const std::string & topicName,
const std::string & typeName,
const std::vector< std::string > & partitions={},
const dcps::DataReaderQos & qos={},
const std::vector< uint8_t > & contentFilterPayload={},
const std::vector< uint8_t > & topicData={},
const std::vector< uint8_t > & groupData={}
)
Parameters:
topicNameTopic name to subscribe totypeNameIDL type name as registered via TypeSupport (e.g., "MyModule::MyType")qosOptional DataReaderQos (defaults to interop-friendly settings)contentFilterPayloadPre-serialisedPID_CONTENT_FILTER_PROPERTY (0x0035)body produced bydcps::ContentFilterProperty::serialize(). Pass an empty vector when the reader has no ContentFilteredTopic; the SEDP subscription emit path will then omit the PID.
Returns:
EntityId for the new reader
function register_topic_for_sedp
Register a locally-created Topic for SEDP DCPSTopic emission.
void astutedds::rtps::RtpsUdpTransport::register_topic_for_sedp (
const std::string & topicName,
const std::string & typeName,
const dcps::TopicQos & qos
)
Called by DomainParticipant::create_topic() so the transport emits a DiscoveredTopicData announcement (RTPS 2.5 §8.5.4.2, §9.6.3) on the SEDP built-in Topics writer. The registration is idempotent per topic name.
function register_writer
Register a writer for a topic.
EntityId_t astutedds::rtps::RtpsUdpTransport::register_writer (
const std::string & topicName,
const std::string & typeName,
const std::vector< std::string > & partitions={},
const dcps::DataWriterQos & qos={},
const std::vector< uint8_t > & topicData={},
const std::vector< uint8_t > & groupData={}
)
Returns:
EntityId for the new writer
function reload_discovery_config
Reload the existing discovery JSON path (if configured).
bool astutedds::rtps::RtpsUdpTransport::reload_discovery_config ()
function send_participant_message_assertion
Emit a ParticipantMessageData sample on the built-in ParticipantMessage writer (entity id 00:02:00:c2), targeted at every discovered remote participant's metatraffic locator with an INFO_DST prefix. kind is the low byte of the 4-octet kind array — 0x01 for PARTICIPANT_MESSAGE_DATA_KIND_AUTOMATIC_LIVELINESS_UPDATE, 0x02 for the MANUAL variant (RTPS §9.6.4.1).
void astutedds::rtps::RtpsUdpTransport::send_participant_message_assertion (
uint8_t kind
)
Silently no-ops if the transport has not been enabled or if no remote participants have been discovered yet.
function send_type_lookup_request
void astutedds::rtps::RtpsUdpTransport::send_type_lookup_request (
const GuidPrefix_t & remoteGuid,
const std::array< uint8_t, 4 > & metatrafficAddr,
uint16_t metatrafficPort,
const std::string & topicName,
const std::array< uint8_t, 14 > & hash
)
Send a TypeLookup GET_TYPES request (§7.6.3.3) to the remote participant.
Parameters:
remoteGuidGUID prefix of the target participantmetatrafficAddrRemote metatraffic unicast IPv4 addressmetatrafficPortRemote metatraffic unicast porttopicNameTopic whose type we are querying (for callback routing)hash14-byte EK_COMPLETE EquivalenceHash from PID_TYPE_INFORMATION
function set_data_callback
Set callback for received data.
inline void astutedds::rtps::RtpsUdpTransport::set_data_callback (
DataReceivedCallback callback
)
function set_discovery_config
Apply discovery config (explicit peers and interface filters).
void astutedds::rtps::RtpsUdpTransport::set_discovery_config (
const DiscoveryConfig & config
)
function set_dispose_callback
Set callback for received DISPOSE / UNREGISTER DATA(K) __
inline void astutedds::rtps::RtpsUdpTransport::set_dispose_callback (
DisposeReceivedCallback callback
)
function set_participant_discovered_callback
Set callback for participant discovery.
inline void astutedds::rtps::RtpsUdpTransport::set_participant_discovered_callback (
ParticipantDiscoveredCallback callback
)
function set_participant_lease_duration_seconds
Override the outbound SPDP PID_PARTICIPANT_LEASE_DURATION. Default is 100 s (RTPS 2.5 recommendation). Values below 1 s are clamped to 1 s to keep the sweeper margin sensible. Must be called before init() to affect the first announcement.
inline void astutedds::rtps::RtpsUdpTransport::set_participant_lease_duration_seconds (
uint32_t sec
)
function set_participant_lost_callback
Set callback fired when a discovered remote participant is evicted from the cache (lease expiry today; SEDP DISPOSE in future). The callback runs on the discovery thread — callers must marshal to their own thread if needed.
inline void astutedds::rtps::RtpsUdpTransport::set_participant_lost_callback (
ParticipantLostCallback callback
)
function set_participant_message_callback
Set callback fired when a ParticipantMessageData sample is received on the built-in ParticipantMessage reader (RTPS §8.4.13). The DCPS layer bridges this into LivelinessManager to refresh remote writer leases without waiting for user-data traffic.
inline void astutedds::rtps::RtpsUdpTransport::set_participant_message_callback (
ParticipantMessageCallback callback
)
function set_participant_user_data
Set the participant USER_DATA blob advertised in outbound SPDP (PID_USER_DATA, 0x002c). Must be called before init() .
inline void astutedds::rtps::RtpsUdpTransport::set_participant_user_data (
std::vector< uint8_t > data
)
Corresponds to DomainParticipantQos::user_data.value.
function set_reader_discovered_callback
Set callback for reader discovery.
inline void astutedds::rtps::RtpsUdpTransport::set_reader_discovered_callback (
ReaderDiscoveredCallback callback
)
function set_reader_lost_callback
Set callback fired when a discovered remote reader is evicted (currently only as a cascade of participant eviction).
inline void astutedds::rtps::RtpsUdpTransport::set_reader_lost_callback (
ReaderLostCallback callback
)
function set_sample_lost_callback
Set callback fired when a writer's GAP submessage (§8.3.7.4) marks sequence numbers as permanently unavailable that had not yet been delivered to the local reader. The DCPS layer uses this to raise DataReader::bump_sample_lost() so get_sample_lost_status() and on_sample_lost fire per DDS §2.2.4.1.7.
inline void astutedds::rtps::RtpsUdpTransport::set_sample_lost_callback (
SampleLostCallback callback
)
function set_spdp_announce_interval_ms
Override the SPDP announcement interval. Default is 3000 ms. Values below 50 ms are clamped to 50 ms to avoid excessive wire traffic. Intended for tests and dense-topology tuning.
inline void astutedds::rtps::RtpsUdpTransport::set_spdp_announce_interval_ms (
uint32_t ms
)
function set_type_lookup_callback
Register a callback to receive type schema from TLS replies.
inline void astutedds::rtps::RtpsUdpTransport::set_type_lookup_callback (
TypeLookupCallback cb
)
function set_writer_discovered_callback
Set callback for writer discovery.
inline void astutedds::rtps::RtpsUdpTransport::set_writer_discovered_callback (
WriterDiscoveredCallback callback
)
function set_writer_lost_callback
Set callback fired when a discovered remote writer is evicted (currently only as a cascade of participant eviction).
inline void astutedds::rtps::RtpsUdpTransport::set_writer_lost_callback (
WriterLostCallback callback
)
function spdp_announce_interval_ms
Current SPDP announcement interval in milliseconds.
inline uint32_t astutedds::rtps::RtpsUdpTransport::spdp_announce_interval_ms () const
function stop
Stop the transport.
void astutedds::rtps::RtpsUdpTransport::stop ()
function subscribe
Subscribe to a topic (enables reception)
void astutedds::rtps::RtpsUdpTransport::subscribe (
const std::string & topicName
)
function test_inject_gap
Test-only: exercise parseGap directly with a synthetic contiguous [gapStart, gapListBase-1] range. Constructs the 28-byte GAP submessage body and dispatches it as if received from senderPrefix . Used by tests covering the GAP → DataReader::bump_sample_lost bridge (§1.1b-B item 7); not part of the normal transport contract.
void astutedds::rtps::RtpsUdpTransport::test_inject_gap (
const GuidPrefix_t & senderPrefix,
const EntityId_t & writerEntityId,
uint64_t gapStart,
uint64_t gapListBase
)
function unregister_reader [1/2]
Unregister a reader.
void astutedds::rtps::RtpsUdpTransport::unregister_reader (
const EntityId_t & entityId
)
function unregister_reader [2/2]
Unregister the reader registered for topicName .
bool astutedds::rtps::RtpsUdpTransport::unregister_reader (
const std::string & topicName
)
Convenience overload used by the DCPS Subscriber on delete_datareader — routes through the same SEDP DISPOSE (§1.1b-A) fast-path as the EntityId overload. Returns true if a reader was found and unregistered.
function unregister_writer [1/2]
Unregister a writer.
void astutedds::rtps::RtpsUdpTransport::unregister_writer (
const EntityId_t & entityId
)
function unregister_writer [2/2]
Unregister the writer registered for topicName .
bool astutedds::rtps::RtpsUdpTransport::unregister_writer (
const std::string & topicName
)
Convenience overload used by the DCPS Publisher on delete_datawriter — routes through the same SEDP DISPOSE (§1.1b-A) fast-path as the EntityId overload. Returns true if a writer was found and unregistered.
function unsubscribe
Unsubscribe from a topic.
void astutedds::rtps::RtpsUdpTransport::unsubscribe (
const std::string & topicName
)
function ~RtpsUdpTransport
astutedds::rtps::RtpsUdpTransport::~RtpsUdpTransport ()
The documentation for this class was generated from the following file include/astutedds/rtps/udp_transport.hpp