11 #include <dds/OpenddsDcpsExtTypeSupportImpl.h> 32 bool* requires_inline_qos,
33 unsigned int* pBytesRead)
36 reinterpret_cast<const char*
>(blob.get_buffer()),
42 if (!(ser >> locators)) {
44 ACE_TEXT(
"(%P|%t) blob_to_locators: ")
45 ACE_TEXT(
"Failed to deserialize blob's locators\n")),
49 if (requires_inline_qos) {
52 ACE_TEXT(
"(%P|%t) blob_to_locators: ")
53 ACE_TEXT(
"Failed to deserialize blob inline QoS flag\n")),
59 ACE_TEXT(
"(%P|%t) blob_to_locators: ")
60 ACE_TEXT(
"Failed to skip blob inline QoS flag\n")),
66 *pBytesRead = blob.length() -
static_cast<unsigned int>(mb.
length());
80 if (!(ser << locators)) {
82 ACE_TEXT(
"Failed to serialize locators to blob\n")));
89 ACE_TEXT(
"Failed to serialize boolean for blob\n")));
111 static_cast<ACE_UINT32>(rtps_duration.
fraction / 1000));
121 const CORBA::ULong num_ulongs = (snSet.numBits + 31) / 32;
125 if (num_ulongs == 0) {
131 if (snSet.bitmap[i]) {
137 const CORBA::ULong mask = mod ? (1 + ~(1u << (32 - mod))) : 0xFFFFFFFF;
138 return (
bool)(snSet.bitmap[last_index] & mask);
ACE_INLINE OpenDDS_Dcps_Export ACE_UINT32 uint32_fractional_seconds_to_microseconds(ACE_UINT32 fraction)
const Duration_t DURATION_INFINITE
size_t length(void) const
bool skip(size_t n, int size=1)
const VendorId_t VENDORID_OPENDDS
#define OPENDDS_ASSERT(C)
sequence< Locator_t > LocatorSeq
void serialized_size(const Encoding &encoding, size_t &size, const SequenceNumber &)
bool bitmapNonEmpty(const SequenceNumberSet &snSet)
DCPS::TimeDuration rtps_duration_to_time_duration(const Duration_t &rtps_duration, const ProtocolVersion_t &version, const VendorId_t &vendor)
Class to serialize and deserialize data for DDS.
#define OpenDDS_Rtps_Export
void message_block_to_sequence(const ACE_Message_Block &mb_locator, T &out)
char * wr_ptr(void) const
OpenDDS_Rtps_Export DCPS::LocatorSeq transport_locator_to_locator_seq(const DCPS::TransportLocator &info)
const DCPS::Encoding & get_locators_encoding()
const ReturnCode_t RETCODE_ERROR
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
const ReturnCode_t RETCODE_OK
const ProtocolVersion_t PROTOCOLVERSION_2_4
#define ACE_ERROR_RETURN(X, Y)
DDS::ReturnCode_t blob_to_locators(const DCPS::TransportBLOB &blob, DCPS::LocatorSeq &locators, bool *requires_inline_qos, unsigned int *pBytesRead)
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
DDS::OctetSeq TransportBLOB
The Internal API and Implementation of OpenDDS.
void locators_to_blob(const DCPS::LocatorSeq &locators, DCPS::TransportBLOB &blob)
static const TimeDuration max_value