Use priority heap to order by timestamp
[babeltrace.git] / include / babeltrace / ctf / metadata.h
index c197624793f932a9a3fb4495ec648c90a1760385..453c9f7085276de0b4ba5eb6798b475f5d6d7363 100644 (file)
@@ -96,6 +96,9 @@ struct ctf_trace {
        DIR *dir;
        int dirfd;
        int flags;              /* open flags */
+
+       /* Heap of streams, ordered to always get the lowest timestam */
+       struct ptr_heap *stream_heap;
 };
 
 #define CTF_STREAM_SET_FIELD(ctf_stream, field)                                \
@@ -179,6 +182,9 @@ struct ctf_event {
        } field_mask;
 };
 
+#define HEADER_END             char end_field
+#define header_sizeof(type)    offsetof(typeof(type), end_field)
+
 struct metadata_packet_header {
        uint32_t magic;                 /* 0x75D11D57 */
        uint8_t  uuid[16];              /* Unique Universal Identifier */
@@ -188,6 +194,7 @@ struct metadata_packet_header {
        uint8_t  compression_scheme;    /* 0 if unused */
        uint8_t  encryption_scheme;     /* 0 if unused */
        uint8_t  checksum_scheme;       /* 0 if unused */
-} __attribute__((packed));
+       HEADER_END;
+};
 
 #endif /* _BABELTRACE_CTF_METADATA_H */
This page took 0.023348 seconds and 4 git commands to generate.