6 #ifndef OPENDDS_DCPS_TRANSPORT_RTPS_UDP_RTPSUDPSENDSTRATEGY_H 7 #define OPENDDS_DCPS_TRANSPORT_RTPS_UDP_RTPSUDPSENDSTRATEGY_H 17 #ifdef OPENDDS_SECURITY 18 # include <dds/DdsSecurityCoreC.h> 36 virtual void stop_i();
47 const AddrSet& destinations);
54 const AddrSet& destinations);
57 #if defined(OPENDDS_SECURITY) 63 static const size_t MaxCryptoHeaderSize = 20;
64 static const size_t MaxCryptoFooterSize = 20;
65 static const size_t MaxSecurePrefixSize =
RTPS::SMHDR_SZ + MaxCryptoHeaderSize;
67 static const size_t MaxSecureSuffixSize =
RTPS::SMHDR_SZ + MaxCryptoFooterSize;
68 static const size_t MaxSecureSubmessageLeadingSize = MaxSecurePrefixSize;
69 static const size_t MaxSecureSubmessageFollowingSize =
71 static const size_t MaxSecureSubmessageAdditionalSize =
72 MaxSecureSubmessageLeadingSize + MaxSubmessagePadding + MaxSecureSubmessageFollowingSize;
73 static const size_t MaxSecureFullMessageLeadingSize =
75 static const size_t MaxSecureFullMessageFollowingSize = MaxSecureSuffixSize;
76 static const size_t MaxSecureFullMessageAdditionalSize =
77 MaxSecureFullMessageLeadingSize + MaxSubmessagePadding + MaxSecureFullMessageFollowingSize;
79 #ifdef OPENDDS_SECURITY 84 virtual ssize_t send_bytes_i(
const iovec iov[],
int n);
85 ssize_t send_bytes_i_helper(
const iovec iov[],
int n);
87 virtual size_t max_message_size()
const;
93 ssize_t send_multi_i(
const iovec iov[],
int n,
94 const AddrSet& addrs);
96 ssize_t send_single_i(
const iovec iov[],
int n,
99 #ifdef OPENDDS_SECURITY 108 bool encode_writer_submessage(
const GUID_t& sender,
116 bool encode_reader_submessage(
const GUID_t& sender,
126 bool& stateless_or_volatile);
sequence< Submessage > SubmessageSeq
const size_t max_message_size_
const ACE_CDR::UShort INFO_SRC_SZ
const ACE_CDR::UShort RTPSHDR_SZ
OverrideToken(RtpsUdpSendStrategy *outer)
ACE_Thread_Mutex rtps_message_mutex_
const ACE_CDR::UShort SMHDR_SZ
ACE_Data_Block rtps_header_db_
NativeCryptoHandle DatawriterCryptoHandle
NativeCryptoHandle DatareaderCryptoHandle
AtomicBool network_is_unreachable_
sequence< octet > OctetSeq
ACE_Thread_Mutex rtps_header_mb_lock_
const AddrSet * override_dest_
const NetworkAddress * override_single_dest_
ACE_Message_Block rtps_header_mb_
RtpsUdpSendStrategy * outer_
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
typedef OPENDDS_VECTOR(ActionConnectionRecord) ConnectionRecords
RTPS::Message rtps_message_
The Internal API and Implementation of OpenDDS.
Base wrapper class around a data/control sample to be sent.
const size_t SM_ALIGN
Alignment of RTPS Submessage.
#define OpenDDS_Rtps_Udp_Export