summaryrefslogtreecommitdiffstats
path: root/src/ufo-roof-buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ufo-roof-buffer.h')
-rw-r--r--src/ufo-roof-buffer.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/ufo-roof-buffer.h b/src/ufo-roof-buffer.h
deleted file mode 100644
index 8e9c00b..0000000
--- a/src/ufo-roof-buffer.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __UFO_ROOF_BUFFER_H
-#define __UFO_ROOF_BUUFER_H
-
- // This IS harmful! Just for testing
-//#define UFO_ROOF_INDEPENDENT_STREAMS
-
-#include <stdatomic.h>
-
-
-struct _UfoRoofBuffer {
- guint64 current_id; // The ID of the first (active) dataset in the buffer
-#ifdef UFO_ROOF_INDEPENDENT_STREAMS
- guint64 *first_id; // The ID of the first received dataset (used for numbering), -1 means not yet known
-#else
- guint64 first_id; // The ID of the first received dataset (used for numbering), -1 means not yet known
-#endif
-
- guint ring_size; // Number of datasets to buffer
- guint drop_buffers; // If we need to catch up
- guint latency_buffers; // we skip incomplete buffers if current_id + latency_buffers is ready
- uint8_t *ring_buffer; // The ring buffer
- _Atomic guint *n_fragments; // Number of completed fragments in each buffer
- guint *stream_fragment; // Currently processed fragment in the stream (for ordered streams)
-// int *fragments; // Mark individual completed fragments (if we care for partial data)
-
-
- guint64 max_datasets; // Only the specified number of datasets will be buffered, the rest will be silently dropped
- guint n_dims; // Indicates if we just assemble one fragment after another or there is 2D/3D data structure (ROOF)
- guint dataset_size; // Size (in bytes) of a full dataset
- guint dataset_dims[2]; // x (in bytes), y (in rows)
- guint fragment_size; // Size (in bytes) of a single fragment (we expect fixed-size fragments at the moment)
- guint fragment_dims[2]; // x (in bytes), y (in rows)
-
- guint fragments_per_dataset; // Number of packets in dataset (used to compute when dataset is ready)
- guint fragments_per_stream; // Number of packets in each of data streams (used to compute when dataset is ready)
-};
-
-typedef struct _UfoRoofBuffer UfoRoofBuffer;
-
-UfoRoofBuffer *ufo_roof_buffer_new(UfoRoofConfig *cfg, guint n_dims, guint max_datasets, GError **error);
-void ufo_roof_buffer_free(UfoRoofBuffer *buf);
-
-gboolean ufo_roof_buffer_set_fragment(UfoRoofBuffer *buffer, guint stream_id, guint64 fragment_id, gconstpointer fragment, GError **error);
-gboolean ufo_roof_buffer_skip_to_ready(UfoRoofBuffer *buffer);
-gboolean ufo_roof_buffer_get_dataset(UfoRoofBuffer *buffer, gpointer output_buffer, gulong *seqid, GError **error);
-
-#endif