src.ctf.lttng-live: make lttng_live_stream_iterator::buf an std::vector
authorSimon Marchi <simon.marchi@efficios.com>
Wed, 22 Jun 2022 20:35:51 +0000 (16:35 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 23 Aug 2022 16:06:16 +0000 (12:06 -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>
src/plugins/ctf/lttng-live/data-stream.cpp
src/plugins/ctf/lttng-live/lttng-live.hpp

index d88921ea7f9e291138ff7c9f593e41dc75a14dba..0ce563676f8d8c1f5aa206f17d627235cc61a7f0 100644 (file)
@@ -53,11 +53,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:
@@ -212,13 +212,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_CLOGE_APPEND_CAUSE("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_CLOGE_APPEND_CAUSE("Failed to allocate live stream iterator name buffer");
@@ -247,7 +241,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 508c5d2bfc8ad3bc7501fd5db3aebd1af30a6e8f..a6b8574c163d703cbdb9bb0c9c955f9bfb834b01 100644 (file)
@@ -111,9 +111,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.031079 seconds and 5 git commands to generate.