src.ctf.fs: move `ctf_fs_ds_*` structures and functions to data-stream-file.hpp
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 5 Apr 2024 18:42:41 +0000 (14:42 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 17 Apr 2024 17:57:53 +0000 (13:57 -0400)
Change-Id: I15392536482968db492fe806ee5fa5e0ecff643e
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12282
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/plugins/ctf/fs-src/data-stream-file.cpp
src/plugins/ctf/fs-src/data-stream-file.hpp
src/plugins/ctf/fs-src/fs.cpp
src/plugins/ctf/fs-src/fs.hpp
src/plugins/ctf/fs-src/query.cpp

index 1b28fde573c554c835d5bc0159047e2412be9db1..d2d31471a7c9d095e19005a17ff2f0f4aea362bb 100644 (file)
@@ -925,3 +925,77 @@ void ctf_fs_ds_index_destroy(struct ctf_fs_ds_index *index)
 
     delete index;
 }
+
+void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info)
+{
+    if (!ds_file_info) {
+        return;
+    }
+
+    if (ds_file_info->path) {
+        g_string_free(ds_file_info->path, TRUE);
+    }
+
+    delete ds_file_info;
+}
+
+struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns)
+{
+    ctf_fs_ds_file_info *ds_file_info = new ctf_fs_ds_file_info;
+    ds_file_info->path = g_string_new(path);
+    if (!ds_file_info->path) {
+        ctf_fs_ds_file_info_destroy(ds_file_info);
+        ds_file_info = NULL;
+        goto end;
+    }
+
+    ds_file_info->begin_ns = begin_ns;
+
+end:
+    return ds_file_info;
+}
+
+void ctf_fs_ds_file_group_destroy(struct ctf_fs_ds_file_group *ds_file_group)
+{
+    if (!ds_file_group) {
+        return;
+    }
+
+    if (ds_file_group->ds_file_infos) {
+        g_ptr_array_free(ds_file_group->ds_file_infos, TRUE);
+    }
+
+    ctf_fs_ds_index_destroy(ds_file_group->index);
+
+    bt_stream_put_ref(ds_file_group->stream);
+    delete ds_file_group;
+}
+
+struct ctf_fs_ds_file_group *ctf_fs_ds_file_group_create(struct ctf_fs_trace *ctf_fs_trace,
+                                                         struct ctf_stream_class *sc,
+                                                         uint64_t stream_instance_id,
+                                                         struct ctf_fs_ds_index *index)
+{
+    ctf_fs_ds_file_group *ds_file_group = new ctf_fs_ds_file_group;
+    ds_file_group->ds_file_infos =
+        g_ptr_array_new_with_free_func((GDestroyNotify) ctf_fs_ds_file_info_destroy);
+    if (!ds_file_group->ds_file_infos) {
+        goto error;
+    }
+
+    ds_file_group->index = index;
+
+    ds_file_group->stream_id = stream_instance_id;
+    BT_ASSERT(sc);
+    ds_file_group->sc = sc;
+    ds_file_group->ctf_fs_trace = ctf_fs_trace;
+    goto end;
+
+error:
+    ctf_fs_ds_file_group_destroy(ds_file_group);
+    ctf_fs_ds_index_destroy(index);
+    ds_file_group = NULL;
+
+end:
+    return ds_file_group;
+}
index ecf450f40a9f258376ae79da0cb92992bc2f388b..0b6a95afadf8d98a23e0b48c745fb7015da4e97d 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <babeltrace2/babeltrace.h>
 
+#include "cpp-common/bt2c/data-len.hpp"
 #include "cpp-common/bt2c/logging.hpp"
 
 #include "../common/src/msg-iter/msg-iter.hpp"
@@ -64,6 +65,79 @@ struct ctf_fs_ds_file
     off_t request_offset_in_mapping = 0;
 };
 
+struct ctf_fs_ds_index_entry
+{
+    explicit ctf_fs_ds_index_entry(const bt2c::DataLen offsetParam,
+                                   const bt2c::DataLen packetSizeParam) noexcept :
+        offset(offsetParam),
+        packetSize(packetSizeParam)
+    {
+    }
+
+    /* Weak, belongs to ctf_fs_ds_file_info. */
+    const char *path = nullptr;
+
+    /* Position of the packet from the beginning of the file. */
+    bt2c::DataLen offset;
+
+    /* Size of the packet. */
+    bt2c::DataLen packetSize;
+
+    /*
+     * Extracted from the packet context, relative to the respective fields'
+     * mapped clock classes (in cycles).
+     */
+    uint64_t timestamp_begin = 0, timestamp_end = 0;
+
+    /*
+     * Converted from the packet context, relative to the trace's EPOCH
+     * (in ns since EPOCH).
+     */
+    int64_t timestamp_begin_ns = 0, timestamp_end_ns = 0;
+
+    /*
+     * Packet sequence number, or UINT64_MAX if not present in the index.
+     */
+    uint64_t packet_seq_num = 0;
+};
+
+struct ctf_fs_ds_index
+{
+    /* Array of pointer to struct ctf_fs_ds_index_entry. */
+    GPtrArray *entries = nullptr;
+};
+
+struct ctf_fs_ds_file_group
+{
+    /*
+     * Array of struct ctf_fs_ds_file_info, owned by this.
+     *
+     * This is an _ordered_ array of data stream file infos which
+     * belong to this group (a single stream instance).
+     *
+     * You can call ctf_fs_ds_file_create() with one of those paths
+     * and the trace IR stream below.
+     */
+    GPtrArray *ds_file_infos = nullptr;
+
+    /* Owned by this */
+    struct ctf_stream_class *sc = nullptr;
+
+    /* Owned by this */
+    bt_stream *stream = nullptr;
+
+    /* Stream (instance) ID; -1ULL means none */
+    uint64_t stream_id = 0;
+
+    /* Weak, belongs to component */
+    struct ctf_fs_trace *ctf_fs_trace = nullptr;
+
+    /*
+     * Owned by this.
+     */
+    struct ctf_fs_ds_index *index = nullptr;
+};
+
 struct ctf_fs_ds_file *ctf_fs_ds_file_create(struct ctf_fs_trace *ctf_fs_trace, bt_stream *stream,
                                              const char *path, const bt2c::Logger& logger);
 
@@ -77,6 +151,17 @@ struct ctf_fs_ds_index *ctf_fs_ds_index_create(const bt2c::Logger& logger);
 
 void ctf_fs_ds_index_destroy(struct ctf_fs_ds_index *index);
 
+void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info);
+
+struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns);
+
+struct ctf_fs_ds_file_group *ctf_fs_ds_file_group_create(struct ctf_fs_trace *ctf_fs_trace,
+                                                         struct ctf_stream_class *sc,
+                                                         uint64_t stream_instance_id,
+                                                         struct ctf_fs_ds_index *index);
+
+void ctf_fs_ds_file_group_destroy(struct ctf_fs_ds_file_group *ds_file_group);
+
 /*
  * Medium operations to iterate on a single ctf_fs_ds_file.
  *
index b2e0f8ff2d43598e5192930b8750e994314fa185..dba30e83f41980e2e28e4dccaf39c029fb086738 100644 (file)
@@ -461,80 +461,6 @@ end:
     return ret;
 }
 
-static void ctf_fs_ds_file_info_destroy(struct ctf_fs_ds_file_info *ds_file_info)
-{
-    if (!ds_file_info) {
-        return;
-    }
-
-    if (ds_file_info->path) {
-        g_string_free(ds_file_info->path, TRUE);
-    }
-
-    delete ds_file_info;
-}
-
-static struct ctf_fs_ds_file_info *ctf_fs_ds_file_info_create(const char *path, int64_t begin_ns)
-{
-    ctf_fs_ds_file_info *ds_file_info = new ctf_fs_ds_file_info;
-    ds_file_info->path = g_string_new(path);
-    if (!ds_file_info->path) {
-        ctf_fs_ds_file_info_destroy(ds_file_info);
-        ds_file_info = NULL;
-        goto end;
-    }
-
-    ds_file_info->begin_ns = begin_ns;
-
-end:
-    return ds_file_info;
-}
-
-static void ctf_fs_ds_file_group_destroy(struct ctf_fs_ds_file_group *ds_file_group)
-{
-    if (!ds_file_group) {
-        return;
-    }
-
-    if (ds_file_group->ds_file_infos) {
-        g_ptr_array_free(ds_file_group->ds_file_infos, TRUE);
-    }
-
-    ctf_fs_ds_index_destroy(ds_file_group->index);
-
-    bt_stream_put_ref(ds_file_group->stream);
-    delete ds_file_group;
-}
-
-static struct ctf_fs_ds_file_group *ctf_fs_ds_file_group_create(struct ctf_fs_trace *ctf_fs_trace,
-                                                                struct ctf_stream_class *sc,
-                                                                uint64_t stream_instance_id,
-                                                                struct ctf_fs_ds_index *index)
-{
-    ctf_fs_ds_file_group *ds_file_group = new ctf_fs_ds_file_group;
-    ds_file_group->ds_file_infos =
-        g_ptr_array_new_with_free_func((GDestroyNotify) ctf_fs_ds_file_info_destroy);
-    if (!ds_file_group->ds_file_infos) {
-        goto error;
-    }
-
-    ds_file_group->index = index;
-
-    ds_file_group->stream_id = stream_instance_id;
-    BT_ASSERT(sc);
-    ds_file_group->sc = sc;
-    ds_file_group->ctf_fs_trace = ctf_fs_trace;
-    goto end;
-
-error:
-    ctf_fs_ds_file_group_destroy(ds_file_group);
-    ctf_fs_ds_index_destroy(index);
-    ds_file_group = NULL;
-
-end:
-    return ds_file_group;
-}
-
 /* Replace by g_ptr_array_insert when we depend on glib >= 2.40. */
 static void array_insert(GPtrArray *array, gpointer element, size_t pos)
 {
index b0052bb7edfdfc3149350440204ddf36f016a67b..af7903849b04c3a9c43fd54d5201df0cc24ed613 100644 (file)
@@ -14,7 +14,6 @@
 
 #include <babeltrace2/babeltrace.h>
 
-#include "cpp-common/bt2c/data-len.hpp"
 #include "cpp-common/bt2c/glib-up.hpp"
 #include "cpp-common/bt2c/logging.hpp"
 
@@ -123,79 +122,6 @@ struct ctf_fs_component
     ctf::src::ClkClsCfg clkClsCfg;
 };
 
-struct ctf_fs_ds_index_entry
-{
-    explicit ctf_fs_ds_index_entry(const bt2c::DataLen offsetParam,
-                                   const bt2c::DataLen packetSizeParam) noexcept :
-        offset(offsetParam),
-        packetSize(packetSizeParam)
-    {
-    }
-
-    /* Weak, belongs to ctf_fs_ds_file_info. */
-    const char *path = nullptr;
-
-    /* Position of the packet from the beginning of the file. */
-    bt2c::DataLen offset;
-
-    /* Size of the packet. */
-    bt2c::DataLen packetSize;
-
-    /*
-     * Extracted from the packet context, relative to the respective fields'
-     * mapped clock classes (in cycles).
-     */
-    uint64_t timestamp_begin = 0, timestamp_end = 0;
-
-    /*
-     * Converted from the packet context, relative to the trace's EPOCH
-     * (in ns since EPOCH).
-     */
-    int64_t timestamp_begin_ns = 0, timestamp_end_ns = 0;
-
-    /*
-     * Packet sequence number, or UINT64_MAX if not present in the index.
-     */
-    uint64_t packet_seq_num = 0;
-};
-
-struct ctf_fs_ds_index
-{
-    /* Array of pointer to struct ctf_fs_ds_index_entry. */
-    GPtrArray *entries = nullptr;
-};
-
-struct ctf_fs_ds_file_group
-{
-    /*
-     * Array of struct ctf_fs_ds_file_info, owned by this.
-     *
-     * This is an _ordered_ array of data stream file infos which
-     * belong to this group (a single stream instance).
-     *
-     * You can call ctf_fs_ds_file_create() with one of those paths
-     * and the trace IR stream below.
-     */
-    GPtrArray *ds_file_infos = nullptr;
-
-    /* Owned by this */
-    struct ctf_stream_class *sc = nullptr;
-
-    /* Owned by this */
-    bt_stream *stream = nullptr;
-
-    /* Stream (instance) ID; -1ULL means none */
-    uint64_t stream_id = 0;
-
-    /* Weak, belongs to component */
-    struct ctf_fs_trace *ctf_fs_trace = nullptr;
-
-    /*
-     * Owned by this.
-     */
-    struct ctf_fs_ds_index *index = nullptr;
-};
-
 struct ctf_fs_msg_iter_data
 {
     explicit ctf_fs_msg_iter_data(bt_self_message_iterator *selfMsgIter) :
index 3e25f16870d81ba21a116fd068c27b9504266c44..91041582a4a169e0956c028383e6a6d9ae4feace 100644 (file)
@@ -19,6 +19,7 @@
 #include "plugins/common/param-validation/param-validation.h"
 
 #include "../common/src/metadata/tsdl/decoder.hpp"
+#include "data-stream-file.hpp"
 #include "fs.hpp"
 #include "query.hpp"
 
This page took 0.028885 seconds and 4 git commands to generate.