From afbf59c46ec10fcabde09de87ce8bae25fe1c36e Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 7 Dec 2023 04:33:59 +0000 Subject: [PATCH] src.ctf.lttng-live: make lttng_live_stream_iterator::buf an std::vector Signed-off-by: Simon Marchi Change-Id: I944475345ed8dd5b1ae2824eb86cf9ead56cd92f Reviewed-on: https://review.lttng.org/c/babeltrace/+/8456 Reviewed-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/12371 Tested-by: jenkins --- src/plugins/ctf/lttng-live/data-stream.cpp | 16 ++++------------ src/plugins/ctf/lttng-live/lttng-live.hpp | 4 +--- 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/src/plugins/ctf/lttng-live/data-stream.cpp b/src/plugins/ctf/lttng-live/data-stream.cpp index 82e4c316..358768cb 100644 --- a/src/plugins/ctf/lttng-live/data-stream.cpp +++ b/src/plugins/ctf/lttng-live/data-stream.cpp @@ -49,11 +49,11 @@ static enum ctf_msg_iter_medium_status medop_request_bytes(size_t request_sz, ui goto end; } - read_len = MIN(request_sz, stream->buflen); + read_len = MIN(request_sz, stream->buf.size()); read_len = MIN(read_len, len_left); - status = lttng_live_get_stream_bytes(live_msg_iter, stream, stream->buf, stream->offset, + status = lttng_live_get_stream_bytes(live_msg_iter, stream, stream->buf.data(), stream->offset, read_len, &recv_len); - *buffer_addr = stream->buf; + *buffer_addr = stream->buf.data(); *buffer_sz = recv_len; stream->offset += recv_len; end: @@ -206,14 +206,7 @@ lttng_live_stream_iterator_create(struct lttng_live_session *session, uint64_t c goto error; } } - stream_iter->buf = g_new0(uint8_t, lttng_live->max_query_size); - if (!stream_iter->buf) { - BT_CPPLOGE_APPEND_CAUSE_SPEC(stream_iter->logger, - "Failed to allocate live stream iterator buffer"); - goto error; - } - - stream_iter->buflen = lttng_live->max_query_size; + stream_iter->buf.resize(lttng_live->max_query_size); stream_iter->name = g_string_new(NULL); if (!stream_iter->name) { BT_CPPLOGE_APPEND_CAUSE_SPEC(stream_iter->logger, @@ -242,7 +235,6 @@ void lttng_live_stream_iterator_destroy(struct lttng_live_stream_iterator *strea return; } - g_free(stream_iter->buf); if (stream_iter->name) { g_string_free(stream_iter->name, TRUE); } diff --git a/src/plugins/ctf/lttng-live/lttng-live.hpp b/src/plugins/ctf/lttng-live/lttng-live.hpp index 8fa926b7..8e1bb356 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.hpp +++ b/src/plugins/ctf/lttng-live/lttng-live.hpp @@ -127,9 +127,7 @@ struct lttng_live_stream_iterator /* Timestamp in nanoseconds of the current message (current_msg). */ int64_t current_msg_ts_ns = 0; - /* Owned by this. */ - uint8_t *buf = nullptr; - size_t buflen = 0; + std::vector buf; /* Owned by this. */ GString *name = nullptr; -- 2.34.1