1#include <fastcdr/FastBuffer.h>
2#include <fastcdr/Cdr.h>
17 setName(
"geometry_msgs::msg::dds_::TransformStamped_");
22 type_size += eprosima::fastcdr::Cdr::alignment(type_size, 4);
24 m_typeSize =
static_cast<uint32_t
>(type_size) + 4;
34 m_keyBuffer =
reinterpret_cast<unsigned char*
>(malloc(keyLength));
59 eprosima::fastcdr::FastBuffer fastbuffer(
reinterpret_cast<char*
>(payload->data), payload->max_size);
62 eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, eprosima::fastcdr::Cdr::DDS_CDR);
64 payload->encapsulation = ser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS? CDR_BE : CDR_LE;
66 ser.serialize_encapsulation();
73 catch (eprosima::fastcdr::exception::NotEnoughMemoryException& )
80 payload->length =
static_cast<uint32_t
>(ser.getSerializedDataLength());
96 eprosima::fastcdr::FastBuffer fastbuffer(
reinterpret_cast<char*
>(payload->data), payload->length);
99 eprosima::fastcdr::Cdr deser(fastbuffer, eprosima::fastcdr::Cdr::DEFAULT_ENDIAN, eprosima::fastcdr::Cdr::DDS_CDR);
102 deser.read_encapsulation();
104 payload->encapsulation = deser.endianness() == eprosima::fastcdr::Cdr::BIG_ENDIANNESS? CDR_BE : CDR_LE;
109 catch (eprosima::fastcdr::exception::NotEnoughMemoryException& )
123 return [data]() -> uint32_t
151 if (!m_isGetKeyDefined)
160 eprosima::fastcdr::FastBuffer fastbuffer(
reinterpret_cast<char*
>(
m_keyBuffer),
164 eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS);
174 m_md5.update(
m_keyBuffer,
static_cast<unsigned int>(ser.getSerializedDataLength()));
178 for (uint8_t i = 0; i < 16; ++i)
180 handle->value[i] =
m_md5.digest[i];
186 for (uint8_t i = 0; i < 16; ++i)
eprosima::fastrtps::rtps::InstanceHandle_t InstanceHandle_t
eprosima::fastrtps::rtps::SerializedPayload_t SerializedPayload_t