src.ctf.lttng-live: make lttng_live_stream_iterator::buf an std::vector
authorSimon Marchi <simon.marchi@efficios.com>
Thu, 7 Dec 2023 04:33:59 +0000 (04:33 +0000)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 17 Apr 2024 17:57:53 +0000 (13:57 -0400)
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Change-Id: I944475345ed8dd5b1ae2824eb86cf9ead56cd92f
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8456
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12371
Tested-by: jenkins <jenkins@lttng.org>
src/plugins/ctf/lttng-live/data-stream.cpp
src/plugins/ctf/lttng-live/lttng-live.hpp

index 82e4c316c7e7787c64880d97015bce94c5e50fa9..358768cb578473b54a2c8928be958aefdea9ff0d 100644 (file)
@@ -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);
     }
index 8fa926b70d974e4601a5c3a0fe65fdcdf267f58c..8e1bb356c8124f403aa232c909b3d23c871e0825 100644 (file)
@@ -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<uint8_t> buf;
 
     /* Owned by this. */
     GString *name = nullptr;
This page took 0.025428 seconds and 4 git commands to generate.