From 5172421d248250b4ab3b69eb57fd83656e23a4da Mon Sep 17 00:00:00 2001 From: "Suren A. Chilingaryan" Date: Thu, 3 Sep 2020 03:00:30 +0200 Subject: This is unfinished work implemeting out-of-UFO network servers --- src/ufo-roof-buffer.h | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 src/ufo-roof-buffer.h (limited to 'src/ufo-roof-buffer.h') 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 - - -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 -- cgit v1.2.3