OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <MulticastInst.h>
Public Member Functions | |
virtual int | load (ACE_Configuration_Heap &cf, ACE_Configuration_Section_Key §) |
virtual OPENDDS_STRING | dump_to_str () const |
Diagnostic aid. More... | |
bool | is_reliable () const |
Does the transport as configured support RELIABLE_RELIABILITY_QOS? More... | |
bool | async_send () const |
virtual size_t | populate_locator (OpenDDS::DCPS::TransportLocator &trans_info, ConnectionInfoFlags flags) const |
Populate a transport locator sequence. Return the number of "locators.". More... | |
![]() | |
const OPENDDS_STRING & | name () const |
void | dump () const |
Diagnostic aid. More... | |
virtual bool | requires_cdr_encapsulation () const |
Does the transport require a CDR-encapsulated data payload? More... | |
DCPS::WeakRcHandle< ICE::Endpoint > | get_ice_endpoint () |
void | rtps_relay_only_now (bool flag) |
void | use_rtps_relay_now (bool flag) |
void | use_ice_now (bool flag) |
virtual void | update_locators (const GUID_t &, const TransportLocatorSeq &) |
virtual void | get_last_recv_locator (const GUID_t &, TransportLocator &) |
virtual void | rtps_relay_address_change () |
ReactorTask_rch | reactor_task () |
EventDispatcher_rch | event_dispatcher () |
void | count_messages (bool flag) |
bool | count_messages () const |
virtual void | append_transport_statistics (TransportStatisticsSequence &) |
void | drop_messages (bool flag) |
void | drop_messages_m (double m) |
void | drop_messages_b (double b) |
bool | should_drop (ssize_t length) const |
bool | should_drop (const iovec iov[], int n, ssize_t &length) const |
![]() | |
virtual | ~RcObject () |
virtual void | _add_ref () |
virtual void | _remove_ref () |
long | ref_count () const |
WeakObject * | _get_weak_object () const |
Static Public Attributes | |
static const size_t | DEFAULT_NAK_DEPTH = 32u |
static const long | DEFAULT_NAK_INTERVAL = 500 |
static const long | DEFAULT_NAK_DELAY_INTERVALS = 4 |
static const long | DEFAULT_NAK_MAX = 3 |
static const long | DEFAULT_NAK_TIMEOUT = 30000 |
![]() | |
static const long | DEFAULT_DATALINK_RELEASE_DELAY = 10000 |
static const size_t | DEFAULT_DATALINK_CONTROL_CHUNKS = 32u |
Private Member Functions | |
MulticastInst (const std::string &name) | |
void | default_group_address (ACE_INET_Addr &group_address) |
TransportImpl_rch | new_impl () |
Friends | |
class | MulticastType |
template<typename T , typename U > | |
RcHandle< T > | OpenDDS::DCPS::make_rch (U const &) |
Additional Inherited Members | |
![]() | |
static OPENDDS_STRING | formatNameForDump (const char *name) |
![]() | |
TransportInst (const char *type, const OPENDDS_STRING &name) | |
virtual | ~TransportInst () |
void | set_port_in_addr_string (OPENDDS_STRING &addr_str, u_short port_number) |
TransportImpl_rch | get_or_create_impl () |
TransportImpl_rch | get_impl () |
![]() | |
RcObject () | |
![]() | |
ACE_SYNCH_MUTEX | lock_ |
bool | shutting_down_ |
Definition at line 26 of file MulticastInst.h.
|
explicitprivate |
Definition at line 46 of file MulticastInst.cpp.
References ACE_DEFAULT_MAX_SOCKET_BUFSIZ, default_group_address(), DEFAULT_NAK_INTERVAL, DEFAULT_NAK_TIMEOUT, OpenDDS::DCPS::TimeDuration::from_msec(), group_address_, if(), nak_interval_, nak_timeout_, syn_interval_, and syn_timeout_.
|
inline |
Definition at line 123 of file MulticastInst.h.
|
private |
Definition at line 133 of file MulticastInst.cpp.
References default_to_ipv6_, port_offset_, and ACE_INET_Addr::set().
Referenced by load(), and MulticastInst().
|
virtual |
Diagnostic aid.
Reimplemented from OpenDDS::DCPS::TransportInst.
Definition at line 149 of file MulticastInst.cpp.
References async_send_, default_to_ipv6_, OpenDDS::DCPS::TransportInst::dump_to_str(), OpenDDS::DCPS::TransportInst::formatNameForDump(), group_address_, local_address_, nak_delay_intervals_, nak_depth_, nak_interval_, nak_max_, nak_timeout_, OPENDDS_STRING, port_offset_, rcv_buffer_size_, reliable_, OpenDDS::DCPS::LogAddr::str(), OpenDDS::DCPS::TimeDuration::str(), syn_backoff_, syn_interval_, syn_timeout_, and ttl_.
|
inlinevirtual |
Does the transport as configured support RELIABLE_RELIABILITY_QOS?
Implements OpenDDS::DCPS::TransportInst.
Definition at line 121 of file MulticastInst.h.
Referenced by populate_locator().
|
virtual |
Overwrite the default configurations with the configuration from the given section in the ACE_Configuration_Heap object.
Reimplemented from OpenDDS::DCPS::TransportInst.
Definition at line 74 of file MulticastInst.cpp.
References ACE_TEXT(), async_send_, ACE_String_Base< char >::c_str(), default_group_address(), default_to_ipv6_, GET_CONFIG_STRING_VALUE, GET_CONFIG_TIME_VALUE, GET_CONFIG_TSTRING_VALUE, GET_CONFIG_VALUE, group_address_, ACE_String_Base< char >::is_empty(), OpenDDS::DCPS::TransportInst::load(), local_address_, nak_delay_intervals_, nak_depth_, nak_interval_, nak_max_, nak_timeout_, port_offset_, rcv_buffer_size_, reliable_, ACE_INET_Addr::set(), syn_backoff_, syn_interval_, syn_timeout_, and ttl_.
|
privatevirtual |
Implements OpenDDS::DCPS::TransportInst.
Definition at line 143 of file MulticastInst.cpp.
References OPENDDS_STRING, and OpenDDS::DCPS::rchandle_from().
|
virtual |
Populate a transport locator sequence. Return the number of "locators.".
Implements OpenDDS::DCPS::TransportInst.
Definition at line 187 of file MulticastInst.cpp.
References ACE_OutputCDR::buffer(), OpenDDS::DCPS::TransportLocator::data, group_address_, is_reliable(), OPENDDS_END_VERSIONED_NAMESPACE_DECL, ACE_OutputCDR::total_length(), and OpenDDS::DCPS::TransportLocator::transport_type.
|
friend |
Definition at line 128 of file MulticastInst.h.
|
friend |
bool OpenDDS::DCPS::MulticastInst::async_send_ |
Sending using asynchronous I/O on Windows platforms that support it. The default value is: false. This parameter has no effect on non-Windows platforms and Windows platforms that don't support asynchronous I/O.
Definition at line 113 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
|
static |
Definition at line 32 of file MulticastInst.h.
Referenced by OpenDDS::DCPS::ReliableSession::send_naks().
|
static |
Definition at line 30 of file MulticastInst.h.
Referenced by OpenDDS::DCPS::MulticastDataLink::MulticastDataLink().
|
static |
Definition at line 31 of file MulticastInst.h.
Referenced by MulticastInst(), and OpenDDS::DCPS::ReliableSession::nak_delay().
|
static |
Definition at line 33 of file MulticastInst.h.
Referenced by OpenDDS::DCPS::ReliableSession::send_naks().
|
static |
Definition at line 34 of file MulticastInst.h.
Referenced by OpenDDS::DCPS::ReliableSession::expire_naks(), and MulticastInst().
bool OpenDDS::DCPS::MulticastInst::default_to_ipv6_ |
Enables IPv6 default group address selection. The default value is: false.
Definition at line 38 of file MulticastInst.h.
Referenced by default_group_address(), dump_to_str(), and load().
ACE_INET_Addr OpenDDS::DCPS::MulticastInst::group_address_ |
The multicast group to join to send/receive data. The default value is: 224.0.0.128:<port> [IANA 2009-11-17], or [FF01::80]:<port> [IANA 2009-08-28]
Definition at line 48 of file MulticastInst.h.
Referenced by dump_to_str(), load(), MulticastInst(), and populate_locator().
std::string OpenDDS::DCPS::MulticastInst::local_address_ |
If non-empty, the address to pass to ACE which indicates the local network interface which should be used for joining the multicast group.
Definition at line 53 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
size_t OpenDDS::DCPS::MulticastInst::nak_delay_intervals_ |
The number of interval's between nak's for a sample (after initial nak). The default value is: 4.
Definition at line 88 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
size_t OpenDDS::DCPS::MulticastInst::nak_depth_ |
The number of datagrams to retain in order to service repair requests (reliable only). The default value is: 32.
Definition at line 78 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
TimeDuration OpenDDS::DCPS::MulticastInst::nak_interval_ |
The minimum number of milliseconds to wait between repair requests (reliable only). The default value is: 500.
Definition at line 83 of file MulticastInst.h.
Referenced by dump_to_str(), load(), and MulticastInst().
size_t OpenDDS::DCPS::MulticastInst::nak_max_ |
The maximum number of a missing sample will be nak'ed. The default value is: 3.
Definition at line 92 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
TimeDuration OpenDDS::DCPS::MulticastInst::nak_timeout_ |
The maximum number of milliseconds to wait before giving up on a repair response (reliable only). The default value is: 30000 (30 seconds).
Definition at line 97 of file MulticastInst.h.
Referenced by dump_to_str(), load(), and MulticastInst().
u_short OpenDDS::DCPS::MulticastInst::port_offset_ |
The default port number (when group_address is not set) The default value is: 49152 [IANA 2009-11-16].
Definition at line 42 of file MulticastInst.h.
Referenced by default_group_address(), dump_to_str(), and load().
size_t OpenDDS::DCPS::MulticastInst::rcv_buffer_size_ |
The size of the socket receive buffer. The default value is: ACE_DEFAULT_MAX_SOCKET_BUFSIZ if it's defined, otherwise, 0. If the value is 0, the system default value is used.
Definition at line 107 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
bool OpenDDS::DCPS::MulticastInst::reliable_ |
Enables reliable communication. This option will eventually be deprecated. The default value is: true.
Definition at line 58 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
double OpenDDS::DCPS::MulticastInst::syn_backoff_ |
The exponential base used during handshake retries; smaller values yield shorter delays between attempts. The default value is: 2.0.
Definition at line 63 of file MulticastInst.h.
Referenced by dump_to_str(), and load().
TimeDuration OpenDDS::DCPS::MulticastInst::syn_interval_ |
The minimum number of milliseconds to wait between handshake attempts during association. The default value is: 250.
Definition at line 68 of file MulticastInst.h.
Referenced by dump_to_str(), load(), and MulticastInst().
TimeDuration OpenDDS::DCPS::MulticastInst::syn_timeout_ |
The maximum number of milliseconds to wait before giving up on a handshake response during association. The default value is: 30000 (30 seconds).
Definition at line 73 of file MulticastInst.h.
Referenced by dump_to_str(), load(), and MulticastInst().
unsigned char OpenDDS::DCPS::MulticastInst::ttl_ |
time-to-live. The default value is: 1 (in same subnet)
Definition at line 101 of file MulticastInst.h.
Referenced by dump_to_str(), and load().