24
24
#include < string>
25
25
#include < utility>
26
26
#include < variant>
27
+ #include < vector>
27
28
28
29
#include " attachment_helpers.hpp"
29
30
#include " cdr.hpp"
@@ -43,7 +44,7 @@ namespace rmw_zenoh_cpp
43
44
{
44
45
// /=============================================================================
45
46
SubscriptionData::Message::Message (
46
- zenoh::Bytes p,
47
+ std::vector< uint8_t > && p,
47
48
uint64_t recv_ts,
48
49
AttachmentData && attachment_)
49
50
: payload(std::move(p)), recv_timestamp(recv_ts), attachment(std::move(attachment_))
@@ -224,7 +225,7 @@ bool SubscriptionData::init()
224
225
225
226
sub_data->add_new_message (
226
227
std::make_unique<SubscriptionData::Message>(
227
- sample.get_payload ().clone (),
228
+ sample.get_payload ().as_vector (),
228
229
std::chrono::system_clock::now ().time_since_epoch ().count (),
229
230
std::move (attachment_data)),
230
231
std::string (sample.get_keyexpr ().as_string_view ()));
@@ -287,8 +288,6 @@ bool SubscriptionData::init()
287
288
zenoh::Subscriber<void > sub = context_impl->session ()->declare_subscriber (
288
289
sub_ke,
289
290
[data_wp](const zenoh::Sample & sample) {
290
- zenoh::KeyExpr keystr (std::string (sample.get_keyexpr ().as_string_view ()));
291
-
292
291
auto sub_data = data_wp.lock ();
293
292
if (sub_data == nullptr ) {
294
293
RMW_ZENOH_LOG_ERROR_NAMED (
@@ -310,10 +309,10 @@ bool SubscriptionData::init()
310
309
AttachmentData attachment_data (attachment_value);
311
310
sub_data->add_new_message (
312
311
std::make_unique<SubscriptionData::Message>(
313
- sample. get_payload (). clone (),
312
+ payload. as_vector (),
314
313
std::chrono::system_clock::now ().time_since_epoch ().count (),
315
314
std::move (attachment_data)),
316
- std::string (keystr .as_string_view ()));
315
+ std::string (sample. get_keyexpr () .as_string_view ()));
317
316
},
318
317
zenoh::closures::none,
319
318
std::move (sub_options),
@@ -491,7 +490,7 @@ rmw_ret_t SubscriptionData::take_one_message(
491
490
std::unique_ptr<Message> msg_data = std::move (message_queue_.front ());
492
491
message_queue_.pop_front ();
493
492
494
- auto payload_data = msg_data->payload . as_vector () ;
493
+ auto & payload_data = msg_data->payload ;
495
494
496
495
if (payload_data.empty ()) {
497
496
RMW_ZENOH_LOG_DEBUG_NAMED (
@@ -549,7 +548,7 @@ rmw_ret_t SubscriptionData::take_serialized_message(
549
548
std::unique_ptr<Message> msg_data = std::move (message_queue_.front ());
550
549
message_queue_.pop_front ();
551
550
552
- auto payload_data = msg_data->payload . as_vector () ;
551
+ auto & payload_data = msg_data->payload ;
553
552
554
553
if (payload_data.empty ()) {
555
554
RMW_ZENOH_LOG_DEBUG_NAMED (
0 commit comments