OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <RtpsUdpDataLink.h>
Classes | |
struct | Bundle |
struct | CountKeeper |
struct | CountMapPair |
struct | CountMapping |
class | DeliverHeldData |
struct | InterestingRemote |
Data structure representing an "interesting" remote entity for static discovery. More... | |
struct | MultiSendBuffer |
struct | ReaderInfo |
struct | ReaderInfoSetHolder |
struct | RemoteInfo |
class | ReplayDurableData |
class | RtpsReader |
class | RtpsWriter |
struct | WriterInfo |
Public Member Functions | |
RtpsUdpDataLink (const RtpsUdpTransport_rch &transport, const GuidPrefix_t &local_prefix, const RtpsUdpInst_rch &config, const ReactorTask_rch &reactor_task, InternalTransportStatistics &transport_statistics, ACE_Thread_Mutex &transport_statistics_mutex) | |
~RtpsUdpDataLink () | |
bool | add_delayed_notification (TransportQueueElement *element) |
RemoveResult | remove_sample (const DataSampleElement *sample) |
void | remove_all_msgs (const GUID_t &pub_id) |
RtpsUdpInst_rch | config () const |
ACE_Reactor * | get_reactor () |
ReactorInterceptor_rch | get_reactor_interceptor () const |
bool | reactor_is_shut_down () |
ACE_SOCK_Dgram & | unicast_socket () |
ACE_SOCK_Dgram_Mcast & | multicast_socket () |
bool | open (const ACE_SOCK_Dgram &unicast_socket) |
void | received (const RTPS::DataSubmessage &data, const GuidPrefix_t &src_prefix, const NetworkAddress &remote_addr) |
void | received (const RTPS::GapSubmessage &gap, const GuidPrefix_t &src_prefix, bool directed, const NetworkAddress &remote_addr) |
void | received (const RTPS::HeartBeatSubmessage &heartbeat, const GuidPrefix_t &src_prefix, bool directed, const NetworkAddress &remote_addr) |
void | received (const RTPS::HeartBeatFragSubmessage &hb_frag, const GuidPrefix_t &src_prefix, bool directed, const NetworkAddress &remote_addr) |
void | received (const RTPS::AckNackSubmessage &acknack, const GuidPrefix_t &src_prefix, const NetworkAddress &remote_addr) |
void | received (const RTPS::NackFragSubmessage &nackfrag, const GuidPrefix_t &src_prefix, const NetworkAddress &remote_addr) |
const GuidPrefix_t & | local_prefix () const |
void | remove_locator_and_bundling_cache (const GUID_t &remote_id) |
NetworkAddress | get_last_recv_address (const GUID_t &remote_id) |
void | update_locators (const GUID_t &remote_id, AddrSet &unicast_addresses, AddrSet &multicast_addresses, bool requires_inline_qos, bool add_ref) |
AddrSet | get_addresses (const GUID_t &local, const GUID_t &remote) const |
AddrSet | get_addresses (const GUID_t &local) const |
Given a 'local' id, return the set of address for all remote peers. More... | |
void | filterBestEffortReaders (const ReceivedDataSample &ds, RepoIdSet &selected, RepoIdSet &withheld) |
int | make_reservation (const GUID_t &remote_publication_id, const GUID_t &local_subscription_id, const TransportReceiveListener_wrch &receive_listener, bool reliable) |
bool | associated (const GUID_t &local, const GUID_t &remote, bool local_reliable, bool remote_reliable, bool local_durable, bool remote_durable, const MonotonicTime_t &participant_discovered_at, ACE_CDR::ULong participant_flags, SequenceNumber max_sn, const TransportClient_rch &client, AddrSet &unicast_addresses, AddrSet &multicast_addresses, const NetworkAddress &last_addr_hint, bool requires_inline_qos) |
void | disassociated (const GUID_t &local, const GUID_t &remote) |
void | register_for_reader (const GUID_t &writerid, const GUID_t &readerid, const AddrSet &addresses, DiscoveryListener *listener) |
void | unregister_for_reader (const GUID_t &writerid, const GUID_t &readerid) |
void | register_for_writer (const GUID_t &readerid, const GUID_t &writerid, const AddrSet &addresses, DiscoveryListener *listener) |
void | unregister_for_writer (const GUID_t &readerid, const GUID_t &writerid) |
void | client_stop (const GUID_t &localId) |
virtual void | pre_stop_i () |
DCPS::RcHandle< ICE::Agent > | get_ice_agent () const |
virtual DCPS::WeakRcHandle< ICE::Endpoint > | get_ice_endpoint () const |
virtual bool | is_leading (const GUID_t &writer_id, const GUID_t &reader_id) const |
Security::SecurityConfig_rch | security_config () const |
Security::HandleRegistry_rch | handle_registry () const |
DDS::Security::ParticipantCryptoHandle | local_crypto_handle () const |
void | local_crypto_handle (DDS::Security::ParticipantCryptoHandle pch) |
RtpsUdpTransport_rch | transport () |
void | enable_response_queue () |
void | disable_response_queue (bool send_immediately) |
bool | requires_inline_qos (const GUIDSeq_var &peers) |
EventDispatcher_rch | event_dispatcher () |
RcHandle< JobQueue > | get_job_queue () const |
typedef | OPENDDS_VECTOR (Bundle) BundleVec |
![]() | |
DataLink (const TransportImpl_rch &impl, Priority priority, bool is_loopback, bool is_active) | |
Only called by our TransportImpl object. More... | |
virtual | ~DataLink () |
int | handle_exception (ACE_HANDLE) |
Reactor invokes this after being notified in schedule_stop or cancel_release. More... | |
void | schedule_stop (const MonotonicTimePoint &schedule_to_stop_at) |
void | stop () |
The stop method is used to stop the DataLink prior to shutdown. More... | |
void | resume_send () |
virtual int | make_reservation (const GUID_t &remote_subscription_id, const GUID_t &local_publication_id, const TransportSendListener_wrch &send_listener, bool reliable) |
void | release_reservations (GUID_t remote_id, GUID_t local_id, DataLinkSetMap &released_locals) |
void | schedule_delayed_release () |
const TimeDuration & | datalink_release_delay () const |
void | remove_listener (const GUID_t &local_id) |
void | send_start () |
void | send (TransportQueueElement *element) |
void | send_stop (GUID_t repoId) |
int | data_received (ReceivedDataSample &sample, const GUID_t &readerId=GUID_UNKNOWN) |
void | data_received_include (ReceivedDataSample &sample, const RepoIdSet &incl) |
DataLinkIdType | id () const |
Obtain a unique identifier for this DataLink object. More... | |
void | transport_shutdown () |
void | notify (ConnectionNotice notice) |
void | release_resources () |
void | terminate_send () |
void | terminate_send_if_suspended () |
bool | is_target (const GUID_t &remote_id) |
void | clear_associations () |
int | handle_timeout (const ACE_Time_Value &tv, const void *arg) |
int | handle_close (ACE_HANDLE h, ACE_Reactor_Mask m) |
void | set_dscp_codepoint (int cp, ACE_SOCK &socket) |
Priority & | transport_priority () |
Priority | transport_priority () const |
bool & | is_loopback () |
bool | is_loopback () const |
bool & | is_active () |
bool | is_active () const |
bool | cancel_release () |
ACE_Message_Block * | create_control (char submessage_id, DataSampleHeader &header, Message_Block_Ptr data) |
SendControlStatus | send_control (const DataSampleHeader &header, Message_Block_Ptr data) |
GUIDSeq * | target_intersection (const GUID_t &pub_id, const GUIDSeq &in, size_t &n_subs) |
TransportImpl_rch | impl () const |
void | default_listener (const TransportReceiveListener_wrch &trl) |
TransportReceiveListener_wrch | default_listener () const |
bool | add_on_start_callback (const TransportClient_wrch &client, const GUID_t &remote) |
void | remove_on_start_callback (const TransportClient_wrch &client, const GUID_t &remote) |
void | invoke_on_start_callbacks (bool success) |
bool | invoke_on_start_callbacks (const GUID_t &local, const GUID_t &remote, bool success) |
void | remove_startup_callbacks (const GUID_t &local, const GUID_t &remote) |
void | set_scheduling_release (bool scheduling_release) |
virtual void | send_final_acks (const GUID_t &readerid) |
![]() | |
RcEventHandler () | |
ACE_Event_Handler::Reference_Count | add_reference () |
ACE_Event_Handler::Reference_Count | remove_reference () |
![]() | |
virtual | ~ACE_Event_Handler (void) |
virtual ACE_HANDLE | get_handle (void) const |
virtual void | set_handle (ACE_HANDLE) |
virtual int | priority (void) const |
virtual void | priority (int priority) |
virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) |
virtual int | handle_exit (ACE_Process *) |
virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) |
virtual int | resume_handler (void) |
virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) |
virtual void | reactor (ACE_Reactor *reactor) |
virtual ACE_Reactor * | reactor (void) const |
virtual ACE_Reactor_Timer_Interface * | reactor_timer_interface (void) const |
Reference_Counting_Policy & | reference_counting_policy (void) |
![]() | |
virtual | ~RcObject () |
virtual void | _add_ref () |
virtual void | _remove_ref () |
long | ref_count () const |
WeakObject * | _get_weak_object () const |
![]() | |
InternalDataReaderListener () | |
InternalDataReaderListener (JobQueue_rch job_queue) | |
void | job_queue (JobQueue_rch job_queue) |
virtual void | on_data_available (InternalDataReader_rch reader)=0 |
void | schedule (InternalDataReader_rch reader) |
Static Public Member Functions | |
static bool | separate_message (EntityId_t entity) |
![]() | |
static ACE_THR_FUNC_RETURN | read_adapter (void *event_handler) |
static int | register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED) |
static int | remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr) |
Private Types | |
typedef CORBA::ULong | FragmentNumberValue |
typedef RcHandle< ReaderInfo > | ReaderInfo_rch |
typedef RcHandle< ReaderInfoSetHolder > | ReaderInfoSetHolder_rch |
typedef RcHandle< RtpsWriter > | RtpsWriter_rch |
typedef RcHandle< WriterInfo > | WriterInfo_rch |
typedef RcHandle< RtpsReader > | RtpsReader_rch |
typedef std::pair< GUID_t, InterestingRemote > | CallbackType |
Private Member Functions | |
void | on_data_available (RcHandle< InternalDataReader< NetworkInterfaceAddress > > reader) |
AddrSet | get_addresses_i (const GUID_t &local, const GUID_t &remote) const |
AddrSet | get_addresses_i (const GUID_t &local) const |
virtual void | stop_i () |
virtual TransportQueueElement * | customize_queue_element (TransportQueueElement *element) |
virtual void | release_reservations_i (const GUID_t &remote_id, const GUID_t &local_id) |
RtpsUdpSendStrategy_rch | send_strategy () |
RtpsUdpReceiveStrategy_rch | receive_strategy () |
typedef | OPENDDS_MAP_CMP (GUID_t, RemoteInfo, GUID_tKeyLessThan) RemoteInfoMap |
void | update_last_recv_addr (const GUID_t &src, const NetworkAddress &addr, const MonotonicTimePoint &now=MonotonicTimePoint::now()) |
ACE_Message_Block * | alloc_msgblock (size_t size, ACE_Allocator *data_allocator) |
ACE_Message_Block * | submsgs_to_msgblock (const RTPS::SubmessageSeq &subm) |
RcHandle< SingleSendBuffer > | get_writer_send_buffer (const GUID_t &pub_id) |
typedef | OPENDDS_MAP (FragmentNumberValue, RTPS::FragmentNumberSet) RequestedFragMap |
typedef | OPENDDS_MAP (SequenceNumber, RequestedFragMap) RequestedFragSeqMap |
typedef | OPENDDS_MAP_CMP (GUID_t, ReaderInfo_rch, GUID_tKeyLessThan) ReaderInfoMap |
typedef | OPENDDS_SET (ReaderInfo_rch) ReaderInfoSet |
typedef | OPENDDS_MAP (SequenceNumber, ReaderInfoSetHolder_rch) SNRIS |
typedef | OPENDDS_MAP_CMP (GUID_t, RtpsWriter_rch, GUID_tKeyLessThan) RtpsWriterMap |
typedef | OPENDDS_MAP_CMP (GUID_t, WriterInfo_rch, GUID_tKeyLessThan) WriterInfoMap |
typedef | OPENDDS_SET (WriterInfo_rch) WriterInfoSet |
typedef | OPENDDS_VECTOR (MetaSubmessageVec::iterator) MetaSubmessageIterVec |
typedef | OPENDDS_MAP_CMP (GUID_t, MetaSubmessageIterVec, GUID_tKeyLessThan) DestMetaSubmessageMap |
typedef | OPENDDS_MAP (AddressCacheEntryProxy, DestMetaSubmessageMap) AddrDestMetaSubmessageMap |
typedef | OPENDDS_VECTOR (MetaSubmessageIterVec) MetaSubmessageIterVecVec |
typedef | OPENDDS_SET (CORBA::Long) CountSet |
typedef | OPENDDS_MAP_CMP (EntityId_t, CountSet, EntityId_tKeyLessThan) IdCountSet |
typedef | OPENDDS_MAP (CORBA::Long, CountMapPair) CountMap |
typedef | OPENDDS_MAP_CMP (EntityId_t, CountMapping, EntityId_tKeyLessThan) IdCountMapping |
void | build_meta_submessage_map (MetaSubmessageVec &meta_submessages, AddrDestMetaSubmessageMap &addr_map) |
void | bundle_mapped_meta_submessages (const Encoding &encoding, AddrDestMetaSubmessageMap &addr_map, BundleVec &bundles, CountKeeper &counts) |
void | queue_submessages (MetaSubmessageVec &meta_submessages) |
void | update_required_acknack_count (const GUID_t &local_id, const GUID_t &remote_id, CORBA::Long current) |
void | bundle_and_send_submessages (MetaSubmessageVec &meta_submessages) |
OPENDDS_VECTOR (MetaSubmessageVec) fsq_vec_ | |
void | harvest_send_queue (const MonotonicTimePoint &now) |
void | flush_send_queue (const MonotonicTimePoint &now) |
void | flush_send_queue_i () |
typedef | OPENDDS_MAP_CMP (GUID_t, RtpsReader_rch, GUID_tKeyLessThan) RtpsReaderMap |
typedef | OPENDDS_MULTIMAP_CMP (GUID_t, RtpsReader_rch, GUID_tKeyLessThan) RtpsReaderMultiMap |
void | durability_resend (TransportQueueElement *element, size_t &cumulative_send_count) |
void | durability_resend (TransportQueueElement *element, const RTPS::FragmentNumberSet &fragmentSet, size_t &cumulative_send_count) |
template<typename T , typename FN > | |
void | datawriter_dispatch (const T &submessage, const GuidPrefix_t &src_prefix, const FN &func) |
template<typename T , typename FN > | |
void | datareader_dispatch (const T &submessage, const GuidPrefix_t &src_prefix, bool directed, const FN &func) |
void | send_heartbeats (const MonotonicTimePoint &now) |
void | check_heartbeats (const MonotonicTimePoint &now) |
typedef | OPENDDS_MULTIMAP_CMP (GUID_t, InterestingRemote, GUID_tKeyLessThan) InterestingRemoteMapType |
TransportQueueElement * | customize_queue_element_non_reliable_i (TransportQueueElement *element, bool requires_inline_qos, MetaSubmessageVec &meta_submessages, bool &deliver_after_send, ACE_Guard< ACE_Thread_Mutex > &guard) |
void | send_heartbeats_manual_i (const TransportSendControlElement *tsce, MetaSubmessageVec &meta_submessages) |
typedef | OPENDDS_MAP_CMP (EntityId_t, CORBA::Long, EntityId_tKeyLessThan) CountMapType |
void | accumulate_addresses (const GUID_t &local, const GUID_t &remote, AddrSet &addresses, bool prefer_unicast=false) const |
Static Private Member Functions | |
static void | extend_bitmap_range (RTPS::FragmentNumberSet &fnSet, CORBA::ULong extent, ACE_CDR::ULong &cumulative_bits_added) |
static bool | include_fragment (const TransportQueueElement &element, const DisjointSequence &fragments, SequenceNumber &lastFragment) |
Static Private Attributes | |
static bool | force_inline_qos_ = false |
static member used by testing code to force inline qos More... | |
Friends | |
class | ::DDS_TEST |
Definition at line 90 of file RtpsUdpDataLink.h.
|
private |
Definition at line 893 of file RtpsUdpDataLink.h.
|
private |
Definition at line 339 of file RtpsUdpDataLink.h.
|
private |
Definition at line 387 of file RtpsUdpDataLink.h.
|
private |
Definition at line 397 of file RtpsUdpDataLink.h.
|
private |
Definition at line 681 of file RtpsUdpDataLink.h.
|
private |
Definition at line 576 of file RtpsUdpDataLink.h.
|
private |
Definition at line 613 of file RtpsUdpDataLink.h.
OpenDDS::DCPS::RtpsUdpDataLink::RtpsUdpDataLink | ( | const RtpsUdpTransport_rch & | transport, |
const GuidPrefix_t & | local_prefix, | ||
const RtpsUdpInst_rch & | config, | ||
const ReactorTask_rch & | reactor_task, | ||
InternalTransportStatistics & | transport_statistics, | ||
ACE_Thread_Mutex & | transport_statistics_mutex | ||
) |
Definition at line 67 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::assign(), OpenDDS::DCPS::ENTITYID_PARTICIPANT, handle_registry_, OpenDDS::DCPS::InternalDataReaderListener< NetworkInterfaceAddress >::job_queue(), job_queue_, local_prefix(), local_prefix_, OpenDDS::DCPS::make_id(), OpenDDS::DCPS::DataLink::receive_strategy_, OpenDDS::DCPS::ref(), security_config_, OpenDDS::DCPS::DataLink::send_strategy_, and TheServiceParticipant.
OpenDDS::DCPS::RtpsUdpDataLink::~RtpsUdpDataLink | ( | ) |
Definition at line 114 of file RtpsUdpDataLink.cpp.
References flush_send_queue_sporadic_, and harvest_send_queue_sporadic_.
|
private |
Definition at line 4677 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), get_ice_endpoint(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::GUID_t::guidPrefix, ice_agent_, interesting_readers_, interesting_writers_, OpenDDS::DCPS::GuidConverter::isReader(), OpenDDS::DCPS::GuidConverter::isWriter(), locator_cache_, locators_, OpenDDS::DCPS::TimePoint_T< MonotonicClock >::max_value, OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now(), OPENDDS_ASSERT, readers_lock_, and writers_lock_.
Referenced by build_meta_submessage_map(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), and get_addresses_i().
bool OpenDDS::DCPS::RtpsUdpDataLink::add_delayed_notification | ( | TransportQueueElement * | element | ) |
Definition at line 127 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, OpenDDS::DCPS::TransportQueueElement::publication_id(), writers_, and writers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpSendStrategy::add_delayed_notification().
|
private |
Definition at line 1035 of file RtpsUdpDataLink.cpp.
References ACE_DEFAULT_MESSAGE_BLOCK_PRIORITY, ACE_NEW_MALLOC_RETURN, db_allocator_, db_lock_pool_, DataBlockLockPool::get_lock(), OpenDDS::DCPS::Cached_Allocator_With_Overflow< T, ACE_LOCK >::malloc(), ACE_Time_Value::max_time, mb_allocator_, ACE_Message_Block::MB_DATA, and ACE_Time_Value::zero.
Referenced by bundle_and_send_submessages(), and submsgs_to_msgblock().
bool OpenDDS::DCPS::RtpsUdpDataLink::associated | ( | const GUID_t & | local, |
const GUID_t & | remote, | ||
bool | local_reliable, | ||
bool | remote_reliable, | ||
bool | local_durable, | ||
bool | remote_durable, | ||
const MonotonicTime_t & | participant_discovered_at, | ||
ACE_CDR::ULong | participant_flags, | ||
SequenceNumber | max_sn, | ||
const TransportClient_rch & | client, | ||
AddrSet & | unicast_addresses, | ||
AddrSet & | multicast_addresses, | ||
const NetworkAddress & | last_addr_hint, | ||
bool | requires_inline_qos | ||
) |
Definition at line 558 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, OpenDDS::DCPS::DataLink::add_on_start_callback(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::add_writer(), OpenDDS::DCPS::TransportSendBuffer::capacity(), OpenDDS::DCPS::GUID_t::entityId, heartbeat_counts_, OpenDDS::DCPS::TransactionalRtpsSendQueue::ignore(), OpenDDS::DCPS::DataLink::invoke_on_start_callbacks(), OpenDDS::DCPS::GuidConverter::isReader(), OpenDDS::DCPS::GuidConverter::isWriter(), OpenDDS::DCPS::log_progress(), OpenDDS::DCPS::TransportDebug::log_progress, multi_buff_, pending_reliable_readers_, readers_, readers_lock_, readers_of_writer_, receive_strategy(), sq_, OpenDDS::DCPS::DataLink::strategy_lock_, OpenDDS::DCPS::transport_debug, update_last_recv_addr(), update_locators(), writer_to_seq_best_effort_readers_, writers_, and writers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::use_datalink().
|
private |
Definition at line 2409 of file RtpsUdpDataLink.cpp.
References accumulate_addresses(), ACE_GUARD, bundling_cache_, get_addresses_i(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::GUIDPREFIX_UNKNOWN, DDS::HANDLE_NIL, LM_DEBUG, local_crypto_handle(), locators_lock_, OpenDDS::DCPS::make_unknown_guid(), OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now(), separate_message(), and VDBG.
Referenced by bundle_and_send_submessages().
|
private |
Definition at line 2757 of file RtpsUdpDataLink.cpp.
References ACE_DEBUG, OpenDDS::RTPS::ACKNACK, OpenDDS::RTPS::Submessage::acknack_sm, alloc_msgblock(), OpenDDS::RTPS::append_submessage(), OpenDDS::DCPS::assign(), OpenDDS::RTPS::SequenceNumberSet::bitmapBase, OpenDDS::RTPS::FragmentNumberSet::bitmapBase, build_meta_submessage_map(), bundle_allocator_, bundle_mapped_meta_submessages(), OpenDDS::DCPS::LogGuid::c_str(), OpenDDS::RTPS::AckNackSubmessage::count, OpenDDS::RTPS::NackFragSubmessage::count, OpenDDS::RTPS::HeartBeatSubmessage::count, OpenDDS::DCPS::MetaSubmessage::dst_guid_, OpenDDS::STUN::encoding(), OpenDDS::RTPS::HeartBeatSubmessage::firstSN, OpenDDS::RTPS::FLAG_E, OpenDDS::RTPS::FLAG_F, OpenDDS::RTPS::SubmessageHeader::flags, OpenDDS::RTPS::NackFragSubmessage::fragmentNumberState, OpenDDS::DCPS::unique_ptr< T, Deleter >::get(), OpenDDS::DCPS::SequenceNumber::getValue(), OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::DCPS::GUID_t::guidPrefix, OpenDDS::RTPS::InfoDestinationSubmessage::guidPrefix, OpenDDS::RTPS::HEARTBEAT, OpenDDS::DCPS::RtpsUdpDataLink::CountKeeper::heartbeat_counts_, OpenDDS::RTPS::Submessage::heartbeat_sm, OpenDDS::RTPS::INFO_DST, OpenDDS::RTPS::INFO_DST_SZ, OpenDDS::DCPS::RtpsUdpDataLink::CountMapPair::is_new_assigned_, OpenDDS::DCPS::Encoding::KIND_XCDR1, OpenDDS::RTPS::HeartBeatSubmessage::lastSN, LM_DEBUG, OpenDDS::DCPS::TransportDebug::log_messages, OpenDDS::DCPS::TransportDebug::log_nonfinal_messages, OpenDDS::DCPS::make_unknown_guid(), OpenDDS::DCPS::RtpsUdpDataLink::CountMapping::map_, OpenDDS::RTPS::NACK_FRAG, OpenDDS::RTPS::Submessage::nack_frag_sm, OpenDDS::DCPS::RtpsUdpDataLink::CountKeeper::nackfrag_counts_, OpenDDS::DCPS::RtpsUdpDataLink::CountMapPair::new_, OpenDDS::DCPS::RtpsUdpDataLink::CountMapping::next_directed_unassigned_, OpenDDS::DCPS::RtpsUdpDataLink::CountMapping::next_undirected_unassigned_, OpenDDS::RTPS::SequenceNumberSet::numBits, OpenDDS::RTPS::FragmentNumberSet::numBits, OPENDDS_ASSERT, OpenDDS::RTPS::OPENDDS_FLAG_R, OpenDDS::DCPS::push_back(), OpenDDS::RTPS::NackFragSubmessage::readerId, OpenDDS::RTPS::AckNackSubmessage::readerSNState, send_strategy(), size_, OpenDDS::DCPS::MetaSubmessage::sm_, OpenDDS::RTPS::AckNackSubmessage::smHeader, OpenDDS::RTPS::HeartBeatSubmessage::smHeader, OpenDDS::DCPS::MetaSubmessage::src_guid_, OpenDDS::RTPS::Message::submessages, OpenDDS::RTPS::to_opendds_seqnum(), OpenDDS::DCPS::transport_debug, OpenDDS::DCPS::RtpsUdpDataLink::CountMapPair::undirected_, update_required_acknack_count(), OpenDDS::RTPS::Count_t::value, OpenDDS::RTPS::FragmentNumber_t::value, OpenDDS::RTPS::HeartBeatSubmessage::writerId, and OpenDDS::RTPS::NackFragSubmessage::writerSN.
Referenced by flush_send_queue_i().
|
private |
Definition at line 2561 of file RtpsUdpDataLink.cpp.
References OpenDDS::RTPS::ACKNACK, OpenDDS::RTPS::Submessage::acknack_sm, config(), OpenDDS::RTPS::NackFragSubmessage::count, OpenDDS::RTPS::HeartBeatSubmessage::count, OpenDDS::DCPS::MetaSubmessage::dst_guid_, OpenDDS::RTPS::FLAG_E, OpenDDS::RTPS::GAP, OpenDDS::RTPS::Submessage::gap_sm, OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::RTPS::HEARTBEAT, OpenDDS::DCPS::RtpsUdpDataLink::CountKeeper::heartbeat_counts_, OpenDDS::RTPS::Submessage::heartbeat_sm, OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::id(), OpenDDS::RTPS::INFO_DST, OpenDDS::RTPS::INFO_DST_SZ, max_bundle_size_, OpenDDS::RTPS::NACK_FRAG, OpenDDS::RTPS::Submessage::nack_frag_sm, OpenDDS::DCPS::RtpsUdpDataLink::CountKeeper::nackfrag_counts_, OPENDDS_ASSERT, OpenDDS::RTPS::NackFragSubmessage::readerId, OpenDDS::DCPS::MetaSubmessage::sm_, OpenDDS::DCPS::RtpsUdpDataLink::CountMapPair::undirected_, OpenDDS::RTPS::Count_t::value, and OpenDDS::RTPS::HeartBeatSubmessage::writerId.
Referenced by bundle_and_send_submessages().
|
private |
Definition at line 4326 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), OpenDDS::DCPS::RtpsUdpInst::DEFAULT_HEARTBEAT_PERIOD_SEC, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::DOES_NOT_EXIST, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::EXISTS, interesting_writers_, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::listener, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::localid, OPENDDS_VECTOR(), readers_lock_, and OpenDDS::DCPS::DiscoveryListener::writer_does_not_exist().
void OpenDDS::DCPS::RtpsUdpDataLink::client_stop | ( | const GUID_t & | localId | ) |
Definition at line 752 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, OpenDDS::DCPS::TransactionalRtpsSendQueue::ignore_local(), OpenDDS::DCPS::GuidConverter::isReader(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::pre_stop_helper(), readers_, readers_lock_, readers_of_writer_, OpenDDS::DCPS::TransportSendStrategy::remove_all_msgs(), OpenDDS::DCPS::DataLink::send_strategy_, sq_, OpenDDS::DCPS::DataLink::strategy_lock_, writer_to_seq_best_effort_readers_, writers_, and writers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::client_stop().
RtpsUdpInst_rch OpenDDS::DCPS::RtpsUdpDataLink::config | ( | ) | const |
Definition at line 121 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::dynamic_rchandle_cast(), and OpenDDS::DCPS::DataLink::impl().
Referenced by accumulate_addresses(), bundle_mapped_meta_submessages(), check_heartbeats(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), get_last_recv_address(), on_data_available(), open(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_frag_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_nackfrag(), queue_submessages(), register_for_reader(), register_for_writer(), send_heartbeats(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::stop_i(), and update_last_recv_addr().
|
privatevirtual |
Allow derived classes to provide an alternate "customized" queue element for this DataLink (not shared with other links in the DataLinkSet).
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 1305 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, customize_queue_element_non_reliable_i(), OpenDDS::DCPS::TransportQueueElement::data_delivered(), OpenDDS::DCPS::TransportQueueElement::msg(), OpenDDS::DCPS::DataLink::peer_ids(), OpenDDS::DCPS::TransportQueueElement::publication_id(), queue_submessages(), requires_inline_qos(), writers_, and writers_lock_.
|
private |
Definition at line 1227 of file RtpsUdpDataLink.cpp.
References ACE_Message_Block::cont(), OpenDDS::DCPS::RtpsSampleHeader::control_message_supported(), OpenDDS::DCPS::TransportQueueElement::data_dropped(), OpenDDS::DCPS::DATAWRITER_LIVELINESS, ACE_Message_Block::duplicate(), OpenDDS::DCPS::TransportSendControlElement::header(), OpenDDS::DCPS::TransportDebug::log_messages, OpenDDS::DCPS::DataSampleHeader::message_id_, OpenDDS::DCPS::move(), OpenDDS::DCPS::TransportQueueElement::msg(), OpenDDS::DCPS::TransportCustomizedElement::original_send_element(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_control_submessages(), OpenDDS::DCPS::RtpsSampleHeader::populate_data_sample_submessages(), OpenDDS::DCPS::TransportQueueElement::publication_id(), ACE_Guard< ACE_LOCK >::release(), OpenDDS::DCPS::unique_ptr< T, Deleter >::release(), OpenDDS::DCPS::unique_ptr< T, Deleter >::reset(), OpenDDS::DCPS::TransportSendElement::sample(), send_heartbeats_manual_i(), send_strategy(), OpenDDS::DCPS::DataLink::send_strategy_, OpenDDS::DCPS::DataLink::strategy_lock_, submsgs_to_msgblock(), and OpenDDS::DCPS::transport_debug.
Referenced by customize_queue_element().
|
inlineprivate |
Definition at line 816 of file RtpsUdpDataLink.h.
References ACE_DEBUG, ACE_GUARD, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_UNKNOWN, func(), LM_DEBUG, OpenDDS::DCPS::TransportDebug::log_dropped_messages, OpenDDS::DCPS::make_id(), OpenDDS::ICE::OPENDDS_VECTOR(), and OpenDDS::DCPS::transport_debug.
Referenced by received().
|
inlineprivate |
Definition at line 789 of file RtpsUdpDataLink.h.
References ACE_DEBUG, ACE_GUARD, func(), LM_DEBUG, OpenDDS::DCPS::TransportDebug::log_dropped_messages, OpenDDS::DCPS::make_id(), OpenDDS::ICE::OPENDDS_VECTOR(), and OpenDDS::DCPS::transport_debug.
Referenced by received().
void OpenDDS::DCPS::RtpsUdpDataLink::disable_response_queue | ( | bool | send_immediately | ) |
Definition at line 2693 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::TransactionalRtpsSendQueue::end_transaction(), flush_send_queue_i(), flush_send_queue_sporadic_, fsq_mutex_, fsq_vec_size_, sq_, and OpenDDS::DCPS::TimeDuration::zero_value.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::end_transport_header_processing(), and harvest_send_queue().
Definition at line 655 of file RtpsUdpDataLink.cpp.
References ACE_DEBUG, ACE_GUARD, OpenDDS::DCPS::TransactionalRtpsSendQueue::ignore_remote(), LM_DEBUG, locators_, locators_lock_, OPENDDS_ASSERT, release_reservations_i(), remove_locator_and_bundling_cache(), sq_, and OpenDDS::DCPS::Transport_debug_level.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::stop_accepting_or_connecting().
|
private |
Definition at line 4014 of file RtpsUdpDataLink.cpp.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i().
|
private |
Definition at line 4022 of file RtpsUdpDataLink.cpp.
References ACE_DEBUG, ACE_ERROR, OpenDDS::RTPS::FragmentNumberSet::bitmap, OpenDDS::RTPS::FragmentNumberSet::bitmapBase, OpenDDS::DCPS::DisjointSequence::empty(), get_addresses(), OpenDDS::DCPS::SequenceNumber::getValue(), include_fragment(), OpenDDS::DCPS::DisjointSequence::insert(), LM_DEBUG, LM_ERROR, OpenDDS::RTPS::FragmentNumberSet::numBits, OpenDDS::DCPS::TransportQueueElement::publication_id(), send_strategy(), OpenDDS::DCPS::TransportQueueElement::sequence(), OpenDDS::DCPS::TransportQueueElement::subscription_id(), OpenDDS::DCPS::Transport_debug_level, and OpenDDS::RTPS::FragmentNumber_t::value.
void OpenDDS::DCPS::RtpsUdpDataLink::enable_response_queue | ( | ) |
Definition at line 2687 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::TransactionalRtpsSendQueue::begin_transaction(), and sq_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::begin_transport_header_processing().
|
inline |
Definition at line 248 of file RtpsUdpDataLink.h.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack().
|
staticprivate |
Extend the FragmentNumberSet to cover the fragments that are missing from our last known fragment to the extent
fnSet | FragmentNumberSet for the message sequence number in question |
extent | is the highest fragment sequence number for this FragmentNumberSet |
Definition at line 2967 of file RtpsUdpDataLink.cpp.
References OpenDDS::RTPS::FragmentNumberSet::bitmap, OpenDDS::RTPS::FragmentNumberSet::bitmapBase, OpenDDS::DCPS::DisjointSequence::fill_bitmap_range(), OpenDDS::RTPS::FragmentNumberSet::numBits, and OpenDDS::RTPS::FragmentNumber_t::value.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::generate_nack_frags_i().
void OpenDDS::DCPS::RtpsUdpDataLink::filterBestEffortReaders | ( | const ReceivedDataSample & | ds, |
RepoIdSet & | selected, | ||
RepoIdSet & | withheld | ||
) |
Definition at line 524 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, OpenDDS::DCPS::ReceivedDataSample::header_, OpenDDS::DCPS::DataSampleHeader::publication_id_, readers_lock_, OpenDDS::DCPS::DataSampleHeader::sequence_, and writer_to_seq_best_effort_readers_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i().
|
private |
Definition at line 2669 of file RtpsUdpDataLink.cpp.
References flush_send_queue_i(), and fsq_mutex_.
|
private |
Definition at line 2676 of file RtpsUdpDataLink.cpp.
References bundle_and_send_submessages(), OpenDDS::DCPS::dedup(), and fsq_vec_size_.
Referenced by disable_response_queue(), and flush_send_queue().
AddrSet OpenDDS::DCPS::RtpsUdpDataLink::get_addresses | ( | const GUID_t & | local, |
const GUID_t & | remote | ||
) | const |
Given a 'local' id and a 'remote' id of a publication or subscription, return the set of addresses of the remote peers.
Definition at line 4593 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, get_addresses_i(), and locators_lock_.
Referenced by durability_resend(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), and OpenDDS::DCPS::RtpsUdpSendStrategy::send_bytes_i_helper().
AddrSet OpenDDS::DCPS::RtpsUdpDataLink::get_addresses | ( | const GUID_t & | local | ) | const |
Given a 'local' id, return the set of address for all remote peers.
Definition at line 4600 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, get_addresses_i(), and locators_lock_.
|
private |
Definition at line 4607 of file RtpsUdpDataLink.cpp.
References accumulate_addresses().
Referenced by build_meta_submessage_map(), and get_addresses().
|
private |
Definition at line 4617 of file RtpsUdpDataLink.cpp.
References accumulate_addresses(), OpenDDS::DCPS::GuidConverter::isWriter(), OpenDDS::DCPS::DataLink::peer_ids(), ACE_Guard< ACE_LOCK >::release(), writers_, and writers_lock_.
RcHandle< ICE::Agent > OpenDDS::DCPS::RtpsUdpDataLink::get_ice_agent | ( | ) | const |
Definition at line 4786 of file RtpsUdpDataLink.cpp.
References ice_agent_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes().
|
virtual |
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 4793 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::TransportImpl::get_ice_endpoint(), and OpenDDS::DCPS::DataLink::impl().
Referenced by accumulate_addresses(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes().
Definition at line 249 of file RtpsUdpDataLink.h.
NetworkAddress OpenDDS::DCPS::RtpsUdpDataLink::get_last_recv_address | ( | const GUID_t & | remote_id | ) |
Definition at line 466 of file RtpsUdpDataLink.cpp.
References config(), locators_, locators_lock_, and OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now().
Referenced by OpenDDS::DCPS::RtpsUdpTransport::get_last_recv_locator().
ACE_INLINE ACE_Reactor * OpenDDS::DCPS::RtpsUdpDataLink::get_reactor | ( | void | ) |
Definition at line 16 of file RtpsUdpDataLink.inl.
References ACE_INLINE, OpenDDS::DCPS::ReactorTask::get_reactor(), and reactor_task_.
Referenced by on_data_available().
ACE_INLINE ReactorInterceptor_rch OpenDDS::DCPS::RtpsUdpDataLink::get_reactor_interceptor | ( | ) | const |
Definition at line 23 of file RtpsUdpDataLink.inl.
References ACE_INLINE, OpenDDS::DCPS::ReactorTask::interceptor(), and reactor_task_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::start_i(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::stop_i().
|
private |
Definition at line 978 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, writers_, and writers_lock_.
|
inline |
Definition at line 229 of file RtpsUdpDataLink.h.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::check_encoded(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::decode_payload(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_from_secure(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_payload(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_reader_submessage(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_writer_submessage(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes().
|
private |
Definition at line 2660 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::TransactionalRtpsSendQueue::begin_transaction(), disable_response_queue(), OpenDDS::DCPS::TransactionalRtpsSendQueue::ready_to_send(), and sq_.
|
staticprivate |
Definition at line 4060 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::DisjointSequence::contains_any(), OpenDDS::DCPS::TransportQueueElement::is_fragment(), and OpenDDS::DCPS::RtpsCustomizedElement::last_fragment().
Referenced by durability_resend().
|
virtual |
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 4799 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, writers_, and writers_lock_.
ACE_INLINE DDS::Security::ParticipantCryptoHandle OpenDDS::DCPS::RtpsUdpDataLink::local_crypto_handle | ( | ) | const |
Definition at line 64 of file RtpsUdpDataLink.inl.
References ACE_INLINE, local_crypto_handle_, and security_mutex_.
Referenced by build_meta_submessage_map(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::check_encoded(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_from_secure(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_rtps_message(), OpenDDS::DCPS::RtpsUdpTransport::local_crypto_handle(), OpenDDS::DCPS::RtpsUdpTransport::make_datalink(), OpenDDS::DCPS::RtpsUdpSendStrategy::pre_send_packet(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes().
ACE_INLINE void OpenDDS::DCPS::RtpsUdpDataLink::local_crypto_handle | ( | DDS::Security::ParticipantCryptoHandle | pch | ) |
Definition at line 71 of file RtpsUdpDataLink.inl.
References local_crypto_handle_, OPENDDS_END_VERSIONED_NAMESPACE_DECL, and security_mutex_.
|
inline |
Definition at line 155 of file RtpsUdpDataLink.h.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_submessages(), and RtpsUdpDataLink().
|
virtual |
Only called by our TransportImpl object.
Return Codes: 0 means successful reservation made. -1 means failure.
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 541 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::DataLink::make_reservation(), pending_reliable_readers_, readers_, readers_lock_, and ACE_Guard< ACE_LOCK >::release().
ACE_INLINE ACE_SOCK_Dgram_Mcast & OpenDDS::DCPS::RtpsUdpDataLink::multicast_socket | ( | ) |
Definition at line 43 of file RtpsUdpDataLink.inl.
References ACE_INLINE, and multicast_socket_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::choose_recv_socket(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::stop_i().
|
private |
Definition at line 427 of file RtpsUdpDataLink.cpp.
References config(), get_reactor(), multicast_manager_, multicast_socket_, OpenDDS::DCPS::DataLink::network_change(), network_interface_address_reader_, OpenDDS::DCPS::MulticastManager::process(), and receive_strategy().
bool OpenDDS::DCPS::RtpsUdpDataLink::open | ( | const ACE_SOCK_Dgram & | unicast_socket | ) |
Definition at line 293 of file RtpsUdpDataLink.cpp.
References ACE_ERROR, ACE_TEXT(), config(), OpenDDS::DCPS::DCPS_debug_level, ACE_SOCK_Dgram_Mcast::DEFOPT_NULLIFACE, ENOTSUP, LM_ERROR, multi_buff_, multicast_socket_, network_interface_address_reader_, ACE_SOCK_Dgram_Mcast::OPT_BINDADDR_NO, ACE_SOCK_Dgram_Mcast::opts(), OpenDDS::DCPS::DataLink::receive_strategy_, send_strategy(), OpenDDS::DCPS::DataLink::send_strategy_, ACE_SOCK::set_option(), OpenDDS::DCPS::set_socket_multicast_ttl(), SO_RCVBUF, SO_SNDBUF, SOL_SOCKET, OpenDDS::DCPS::DataLink::start(), stop_i(), TheServiceParticipant, unicast_socket(), and unicast_socket_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::make_datalink().
|
private |
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::ReaderInfo::expunge_durable_data(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::generate_nack_frags_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack(), and OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::remove_reader().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by send_heartbeats().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::acked_by_all_helper_i(), check_heartbeats(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::deliver_held_data(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::generate_nack_frags_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_gap_i(), received(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::remove_reader(), and send_heartbeats().
|
private |
typedef OpenDDS::DCPS::RtpsUdpDataLink::OPENDDS_VECTOR | ( | Bundle | ) |
|
private |
|
virtual |
Called before release the datalink or before shutdown to let the concrete DataLink to do anything necessary.
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 860 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, DBG_ENTRY_LVL, heartbeat_counts_, OpenDDS::DCPS::DataLink::pre_stop_i(), readers_, readers_lock_, writers_, and writers_lock_.
|
private |
Definition at line 2716 of file RtpsUdpDataLink.cpp.
References config(), OpenDDS::DCPS::TransactionalRtpsSendQueue::enqueue(), harvest_send_queue_sporadic_, and sq_.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::add_reader(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::add_writer(), customize_queue_element(), received(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::send_heartbeats(), send_heartbeats(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::send_nack_responses(), and OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::send_preassociation_acknacks().
ACE_INLINE bool OpenDDS::DCPS::RtpsUdpDataLink::reactor_is_shut_down | ( | ) |
Definition at line 30 of file RtpsUdpDataLink.inl.
References ACE_INLINE, OpenDDS::DCPS::ReactorTask::is_shut_down(), and reactor_task_.
|
private |
Definition at line 4587 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::dynamic_rchandle_cast(), and OpenDDS::DCPS::DataLink::receive_strategy_.
Referenced by associated(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::gather_ack_nacks_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::generate_nack_frags_i(), on_data_available(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::pre_stop_helper(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_data_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_gap_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_frag_i(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_i(), received(), and OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::should_nack_fragments().
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::DataSubmessage & | data, |
const GuidPrefix_t & | src_prefix, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 1567 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_UNKNOWN, local_prefix_, OpenDDS::DCPS::make_id(), OPENDDS_VECTOR(), pending_reliable_readers_, queue_submessages(), OpenDDS::RTPS::DataSubmessage::readerId, readers_, readers_lock_, readers_of_writer_, receive_strategy(), OpenDDS::DCPS::DataLink::strategy_lock_, update_last_recv_addr(), and OpenDDS::RTPS::DataSubmessage::writerId.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_sample_i().
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::GapSubmessage & | gap, |
const GuidPrefix_t & | src_prefix, | ||
bool | directed, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 1780 of file RtpsUdpDataLink.cpp.
References datareader_dispatch(), OpenDDS::DCPS::make_id(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_gap_i(), update_last_recv_addr(), and OpenDDS::RTPS::GapSubmessage::writerId.
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::HeartBeatSubmessage & | heartbeat, |
const GuidPrefix_t & | src_prefix, | ||
bool | directed, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 1864 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, datareader_dispatch(), OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::DOES_NOT_EXIST, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::EXISTS, interesting_writers_, OpenDDS::DCPS::make_id(), OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now(), OPENDDS_VECTOR(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_i(), queue_submessages(), readers_lock_, update_last_recv_addr(), and OpenDDS::RTPS::HeartBeatSubmessage::writerId.
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::HeartBeatFragSubmessage & | hb_frag, |
const GuidPrefix_t & | src_prefix, | ||
bool | directed, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 2989 of file RtpsUdpDataLink.cpp.
References datareader_dispatch(), OpenDDS::DCPS::make_id(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::process_heartbeat_frag_i(), update_last_recv_addr(), and OpenDDS::RTPS::HeartBeatFragSubmessage::writerId.
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::AckNackSubmessage & | acknack, |
const GuidPrefix_t & | src_prefix, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 3061 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, datawriter_dispatch(), OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::DOES_NOT_EXIST, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::EXISTS, interesting_readers_, local_prefix_, OpenDDS::DCPS::make_id(), OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now(), OPENDDS_VECTOR(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack(), OpenDDS::RTPS::AckNackSubmessage::readerId, update_last_recv_addr(), OpenDDS::RTPS::AckNackSubmessage::writerId, and writers_lock_.
void OpenDDS::DCPS::RtpsUdpDataLink::received | ( | const RTPS::NackFragSubmessage & | nackfrag, |
const GuidPrefix_t & | src_prefix, | ||
const NetworkAddress & | remote_addr | ||
) |
Definition at line 3403 of file RtpsUdpDataLink.cpp.
References datawriter_dispatch(), OpenDDS::DCPS::make_id(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_nackfrag(), OpenDDS::RTPS::NackFragSubmessage::readerId, and update_last_recv_addr().
void OpenDDS::DCPS::RtpsUdpDataLink::register_for_reader | ( | const GUID_t & | writerid, |
const GUID_t & | readerid, | ||
const AddrSet & | addresses, | ||
DiscoveryListener * | listener | ||
) |
Definition at line 678 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), OpenDDS::DCPS::RtpsUdpInst::DEFAULT_HEARTBEAT_PERIOD_SEC, OpenDDS::DCPS::GUID_t::entityId, heartbeat_, heartbeat_counts_, interesting_readers_, and writers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::register_for_reader().
void OpenDDS::DCPS::RtpsUdpDataLink::register_for_writer | ( | const GUID_t & | readerid, |
const GUID_t & | writerid, | ||
const AddrSet & | addresses, | ||
DiscoveryListener * | listener | ||
) |
Definition at line 717 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), OpenDDS::DCPS::RtpsUdpInst::DEFAULT_HEARTBEAT_PERIOD_SEC, heartbeatchecker_, interesting_writers_, and readers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::register_for_writer().
|
privatevirtual |
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 901 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, OpenDDS::DCPS::GuidConverter::isReader(), OpenDDS::DCPS::GuidConverter::isWriter(), readers_, readers_lock_, readers_of_writer_, remove_locator_and_bundling_cache(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsReader::remove_writer(), writer_to_seq_best_effort_readers_, writers_, and writers_lock_.
Referenced by disassociated().
|
virtual |
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 165 of file RtpsUdpDataLink.cpp.
References ACE_Guard< ACE_LOCK >::release(), writers_, and writers_lock_.
void OpenDDS::DCPS::RtpsUdpDataLink::remove_locator_and_bundling_cache | ( | const GUID_t & | remote_id | ) |
Definition at line 459 of file RtpsUdpDataLink.cpp.
References bundling_cache_, locator_cache_, and OpenDDS::DCPS::AddressCache< Key >::remove_id().
Referenced by disassociated(), release_reservations_i(), update_last_recv_addr(), and update_locators().
|
virtual |
This method is essentially an "undo_send()" method. It's goal is to remove all traces of the sample from this DataLink (if the sample is even known to the DataLink).
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 146 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::DataSampleElement::get_pub_id(), ACE_Guard< ACE_LOCK >::release(), OpenDDS::DCPS::REMOVE_NOT_FOUND, writers_, and writers_lock_.
bool OpenDDS::DCPS::RtpsUdpDataLink::requires_inline_qos | ( | const GUIDSeq_var & | peers | ) |
Definition at line 1426 of file RtpsUdpDataLink.cpp.
References ACE_GUARD_RETURN, force_inline_qos_, locators_, and locators_lock_.
Referenced by customize_queue_element(), OpenDDS::DCPS::RtpsUdpTransport::get_last_recv_locator(), and update_locators().
|
inline |
Definition at line 223 of file RtpsUdpDataLink.h.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::decode_payload(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::deliver_from_secure(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_payload(), OpenDDS::DCPS::RtpsUdpSendStrategy::pre_send_packet(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes(), OpenDDS::DCPS::RtpsUdpSendStrategy::security_config(), and OpenDDS::DCPS::RtpsUdpSendStrategy::send_rtps_control().
|
private |
Definition at line 4079 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::DOES_NOT_EXIST, OpenDDS::DCPS::ENTITYID_UNKNOWN, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::EXISTS, OpenDDS::RTPS::FLAG_E, OpenDDS::RTPS::HEARTBEAT, heartbeat_counts_, OpenDDS::RTPS::Submessage::heartbeat_sm, OpenDDS::RTPS::HEARTBEAT_SZ, OpenDDS::DCPS::insert(), interesting_readers_, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::listener, OpenDDS::DCPS::RtpsUdpDataLink::InterestingRemote::localid, OPENDDS_MAP_CMP(), OPENDDS_VECTOR(), queue_submessages(), OpenDDS::DCPS::DiscoveryListener::reader_does_not_exist(), OpenDDS::DCPS::MetaSubmessage::sm_, OpenDDS::RTPS::to_rtps_seqnum(), writers_, writers_lock_, and OpenDDS::DCPS::SequenceNumber::ZERO().
|
private |
Definition at line 4357 of file RtpsUdpDataLink.cpp.
References best_effort_heartbeat_count_, OpenDDS::DCPS::GUID_t::entityId, OpenDDS::DCPS::ENTITYID_UNKNOWN, OpenDDS::RTPS::FLAG_E, OpenDDS::RTPS::FLAG_F, OpenDDS::RTPS::FLAG_L, OpenDDS::DCPS::GUID_UNKNOWN, OpenDDS::RTPS::HEARTBEAT, OpenDDS::RTPS::Submessage::heartbeat_sm, OpenDDS::RTPS::HEARTBEAT_SZ, OpenDDS::DCPS::TransportSendControlElement::publication_id(), OpenDDS::DCPS::TransportSendControlElement::sequence(), OpenDDS::DCPS::MetaSubmessage::sm_, and OpenDDS::RTPS::to_rtps_seqnum().
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), and customize_queue_element_non_reliable_i().
|
private |
Definition at line 4581 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::dynamic_rchandle_cast(), and OpenDDS::DCPS::DataLink::send_strategy_.
Referenced by bundle_and_send_submessages(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), customize_queue_element_non_reliable_i(), durability_resend(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), open(), and OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::RtpsWriter().
|
static |
Definition at line 2481 of file RtpsUdpDataLink.cpp.
References OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_READER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_STATELESS_WRITER, OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_READER, and OpenDDS::RTPS::ENTITYID_P2P_BUILTIN_PARTICIPANT_VOLATILE_SECURE_WRITER.
Referenced by build_meta_submessage_map(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::check_encoded().
|
privatevirtual |
This announces the "stop" event to our subclass. The "stop" event will occur when this DataLink is handling a release_reservations() call and determines that it has just released all of the remaining reservations on this DataLink. The "stop" event will also occur when the TransportImpl is being shutdown() - we call stop_i() from our transport_shutdown() method to handle this case.
Reimplemented from OpenDDS::DCPS::DataLink.
Definition at line 963 of file RtpsUdpDataLink.cpp.
References ACE_SOCK::close(), heartbeat_, heartbeatchecker_, multicast_socket_, network_interface_address_reader_, TheServiceParticipant, and unicast_socket_.
Referenced by open().
|
private |
Definition at line 1056 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::Encoding::align(), OpenDDS::DCPS::Serializer::align_w(), alloc_msgblock(), custom_allocator_, OpenDDS::STUN::encoding(), OpenDDS::DCPS::Encoding::KIND_XCDR1, OpenDDS::DCPS::serialized_size(), and OpenDDS::RTPS::SMHDR_SZ.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::customize_queue_element_helper(), and customize_queue_element_non_reliable_i().
RtpsUdpTransport_rch OpenDDS::DCPS::RtpsUdpDataLink::transport | ( | void | ) |
Definition at line 4575 of file RtpsUdpDataLink.cpp.
References OpenDDS::DCPS::dynamic_rchandle_cast(), and OpenDDS::DCPS::DataLink::impl().
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::receive_bytes(), and OpenDDS::DCPS::RtpsUdpSendStrategy::send_single_i().
ACE_INLINE ACE_SOCK_Dgram & OpenDDS::DCPS::RtpsUdpDataLink::unicast_socket | ( | ) |
Definition at line 37 of file RtpsUdpDataLink.inl.
References ACE_INLINE, and unicast_socket_.
Referenced by OpenDDS::DCPS::RtpsUdpReceiveStrategy::choose_recv_socket(), OpenDDS::DCPS::RtpsUdpSendStrategy::choose_send_socket(), open(), OpenDDS::DCPS::RtpsUdpReceiveStrategy::start_i(), and OpenDDS::DCPS::RtpsUdpReceiveStrategy::stop_i().
void OpenDDS::DCPS::RtpsUdpDataLink::unregister_for_reader | ( | const GUID_t & | writerid, |
const GUID_t & | readerid | ||
) |
Definition at line 700 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, interesting_readers_, and writers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::unregister_for_reader().
void OpenDDS::DCPS::RtpsUdpDataLink::unregister_for_writer | ( | const GUID_t & | readerid, |
const GUID_t & | writerid | ||
) |
Definition at line 736 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, interesting_writers_, and readers_lock_.
Referenced by OpenDDS::DCPS::RtpsUdpTransport::unregister_for_writer().
|
private |
Definition at line 1531 of file RtpsUdpDataLink.cpp.
References ACE_GUARD, config(), OpenDDS::DCPS::is_more_local(), locators_, locators_lock_, OpenDDS::DCPS::TimePoint_T< MonotonicClock >::now(), and remove_locator_and_bundling_cache().
Referenced by associated(), and received().
void OpenDDS::DCPS::RtpsUdpDataLink::update_locators | ( | const GUID_t & | remote_id, |
AddrSet & | unicast_addresses, | ||
AddrSet & | multicast_addresses, | ||
bool | requires_inline_qos, | ||
bool | add_ref | ||
) |
Definition at line 480 of file RtpsUdpDataLink.cpp.
References ACE_DEBUG, ACE_ERROR, ACE_GUARD, ACE_TEXT(), OpenDDS::DCPS::LogAddr::c_str(), OpenDDS::DCPS::DCPS_debug_level, LM_ERROR, LM_INFO, locators_, locators_lock_, OpenDDS::DCPS::RtpsUdpDataLink::RemoteInfo::multicast_addrs_, OpenDDS::DCPS::RtpsUdpDataLink::RemoteInfo::ref_count_, remove_locator_and_bundling_cache(), requires_inline_qos(), OpenDDS::DCPS::RtpsUdpDataLink::RemoteInfo::requires_inline_qos_, and OpenDDS::DCPS::RtpsUdpDataLink::RemoteInfo::unicast_addrs_.
Referenced by associated(), and OpenDDS::DCPS::RtpsUdpTransport::update_locators().
|
private |
Definition at line 2741 of file RtpsUdpDataLink.cpp.
References writers_, and writers_lock_.
Referenced by bundle_and_send_submessages().
|
friend |
Definition at line 266 of file RtpsUdpDataLink.h.
|
private |
Definition at line 860 of file RtpsUdpDataLink.h.
Referenced by send_heartbeats_manual_i().
|
private |
Definition at line 314 of file RtpsUdpDataLink.h.
Referenced by bundle_and_send_submessages().
|
mutableprivate |
Definition at line 302 of file RtpsUdpDataLink.h.
Referenced by build_meta_submessage_map(), remove_locator_and_bundling_cache(), and OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::update_remote_guids_cache_i().
|
private |
Definition at line 313 of file RtpsUdpDataLink.h.
Referenced by submsgs_to_msgblock().
|
private |
Definition at line 312 of file RtpsUdpDataLink.h.
Referenced by alloc_msgblock().
|
private |
Definition at line 315 of file RtpsUdpDataLink.h.
Referenced by alloc_msgblock().
|
private |
Definition at line 272 of file RtpsUdpDataLink.h.
|
private |
Definition at line 743 of file RtpsUdpDataLink.h.
Referenced by disable_response_queue(), and ~RtpsUdpDataLink().
|
staticprivate |
static member used by testing code to force inline qos
Definition at line 268 of file RtpsUdpDataLink.h.
Referenced by requires_inline_qos().
|
mutableprivate |
Definition at line 735 of file RtpsUdpDataLink.h.
Referenced by disable_response_queue(), and flush_send_queue().
|
private |
Definition at line 737 of file RtpsUdpDataLink.h.
Referenced by disable_response_queue(), and flush_send_queue_i().
|
private |
Definition at line 933 of file RtpsUdpDataLink.h.
Referenced by RtpsUdpDataLink().
|
private |
Definition at line 740 of file RtpsUdpDataLink.h.
Referenced by queue_submessages(), and ~RtpsUdpDataLink().
|
private |
Definition at line 862 of file RtpsUdpDataLink.h.
Referenced by OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::add_reader(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::make_lagger_leader(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::make_leader_lagger(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::pre_stop_helper(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::process_acknack(), register_for_reader(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::send_heartbeats(), and stop_i().
|
private |
Definition at line 905 of file RtpsUdpDataLink.h.
Referenced by associated(), pre_stop_i(), register_for_reader(), and send_heartbeats().
|
private |
Definition at line 863 of file RtpsUdpDataLink.h.
Referenced by register_for_writer(), and stop_i().
|
private |
Definition at line 935 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), and get_ice_agent().
|
private |
Definition at line 890 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), received(), register_for_reader(), send_heartbeats(), and unregister_for_reader().
|
private |
Definition at line 891 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), check_heartbeats(), received(), register_for_writer(), and unregister_for_writer().
Definition at line 271 of file RtpsUdpDataLink.h.
Referenced by RtpsUdpDataLink().
|
private |
Definition at line 934 of file RtpsUdpDataLink.h.
Referenced by local_crypto_handle().
|
private |
Definition at line 277 of file RtpsUdpDataLink.h.
Referenced by received(), and RtpsUdpDataLink().
|
mutableprivate |
Definition at line 301 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), and remove_locator_and_bundling_cache().
|
private |
Definition at line 297 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), disassociated(), get_last_recv_address(), requires_inline_qos(), update_last_recv_addr(), and update_locators().
|
mutableprivate |
Definition at line 769 of file RtpsUdpDataLink.h.
Referenced by build_meta_submessage_map(), disassociated(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::gather_nack_replies_i(), get_addresses(), get_last_recv_address(), requires_inline_qos(), update_last_recv_addr(), and update_locators().
|
private |
Definition at line 907 of file RtpsUdpDataLink.h.
Referenced by bundle_mapped_meta_submessages().
|
private |
Definition at line 311 of file RtpsUdpDataLink.h.
Referenced by alloc_msgblock().
|
private |
Referenced by associated(), and open().
|
private |
Definition at line 941 of file RtpsUdpDataLink.h.
Referenced by on_data_available().
|
private |
Definition at line 305 of file RtpsUdpDataLink.h.
Referenced by multicast_socket(), on_data_available(), open(), and stop_i().
|
private |
Definition at line 940 of file RtpsUdpDataLink.h.
Referenced by on_data_available(), open(), and stop_i().
|
private |
Definition at line 745 of file RtpsUdpDataLink.h.
Referenced by associated(), make_reservation(), and received().
|
private |
Definition at line 270 of file RtpsUdpDataLink.h.
Referenced by get_reactor(), get_reactor_interceptor(), and reactor_is_shut_down().
|
private |
Definition at line 752 of file RtpsUdpDataLink.h.
Referenced by associated(), client_stop(), make_reservation(), pre_stop_i(), received(), and release_reservations_i().
|
mutableprivate |
What was once a single lock for the whole datalink is now split between three (four including ch_lock_):
Definition at line 767 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), associated(), check_heartbeats(), client_stop(), filterBestEffortReaders(), make_reservation(), pre_stop_i(), received(), register_for_writer(), release_reservations_i(), and unregister_for_writer().
|
private |
Definition at line 755 of file RtpsUdpDataLink.h.
Referenced by associated(), client_stop(), received(), and release_reservations_i().
|
private |
Definition at line 932 of file RtpsUdpDataLink.h.
Referenced by RtpsUdpDataLink().
|
mutableprivate |
Definition at line 931 of file RtpsUdpDataLink.h.
Referenced by local_crypto_handle().
|
private |
Definition at line 734 of file RtpsUdpDataLink.h.
Referenced by associated(), client_stop(), disable_response_queue(), disassociated(), enable_response_queue(), harvest_send_queue(), and queue_submessages().
|
private |
|
private |
|
private |
Definition at line 304 of file RtpsUdpDataLink.h.
Referenced by open(), stop_i(), and unicast_socket().
|
private |
Definition at line 757 of file RtpsUdpDataLink.h.
Referenced by associated(), client_stop(), filterBestEffortReaders(), and release_reservations_i().
|
private |
Definition at line 583 of file RtpsUdpDataLink.h.
Referenced by add_delayed_notification(), associated(), client_stop(), customize_queue_element(), get_addresses_i(), get_writer_send_buffer(), is_leading(), pre_stop_i(), release_reservations_i(), remove_all_msgs(), remove_sample(), send_heartbeats(), and update_required_acknack_count().
|
mutableprivate |
Definition at line 768 of file RtpsUdpDataLink.h.
Referenced by accumulate_addresses(), add_delayed_notification(), associated(), client_stop(), customize_queue_element(), get_addresses_i(), get_writer_send_buffer(), is_leading(), pre_stop_i(), received(), register_for_reader(), release_reservations_i(), remove_all_msgs(), remove_sample(), send_heartbeats(), unregister_for_reader(), and update_required_acknack_count().