src.ctf.fs: use one CTF notif iter per notification iterator
[babeltrace.git] / plugins / ctf / fs-src / data-stream-file.c
index 5d255ab78441ecf08bc882fc9ac4dbb3547c3672..0ca01a61606f67c5d831c7568bc42bc2dbf58916 100644 (file)
@@ -199,10 +199,12 @@ end:
        return stream;
 }
 
-static struct bt_ctf_notif_iter_medium_ops medops = {
+BT_HIDDEN
+struct bt_ctf_notif_iter_medium_ops ctf_fs_ds_file_medops = {
        .request_bytes = medop_request_bytes,
        .get_stream = medop_get_stream,
 };
+
 static
 struct ctf_fs_ds_index *ctf_fs_ds_index_create(size_t length)
 {
@@ -521,6 +523,7 @@ error:
 BT_HIDDEN
 struct ctf_fs_ds_file *ctf_fs_ds_file_create(
                struct ctf_fs_trace *ctf_fs_trace,
+               struct bt_ctf_notif_iter *notif_iter,
                struct bt_ctf_stream *stream, const char *path)
 {
        int ret;
@@ -544,8 +547,8 @@ struct ctf_fs_ds_file *ctf_fs_ds_file_create(
                goto error;
        }
 
-       ds_file->notif_iter = bt_ctf_notif_iter_create(
-               ctf_fs_trace->metadata->trace, page_size, medops, ds_file);
+       ds_file->notif_iter = notif_iter;
+       bt_ctf_notif_iter_set_medops_data(ds_file->notif_iter, ds_file);
        if (!ds_file->notif_iter) {
                goto error;
        }
@@ -585,10 +588,6 @@ void ctf_fs_ds_file_destroy(struct ctf_fs_ds_file *ds_file)
                ctf_fs_file_destroy(ds_file->file);
        }
 
-       if (ds_file->notif_iter) {
-               bt_ctf_notif_iter_destroy(ds_file->notif_iter);
-       }
-
        g_free(ds_file);
 }
 
This page took 0.023276 seconds and 4 git commands to generate.