Skip to content

Struct dp_header_t

ClassList > dp_header_t

Frame metadata carried in every stream message. More...

  • #include <stream.h>

Public Attributes

Type Name
double center_freq
char data_rep
uint16_t flags
uint16_t format
uint16_t kind
uint64_t magic
uint64_t num_samples
uint32_t payload_bytes
double sample_rate
uint64_t sequence
uint64_t timestamp_ns
uint16_t version

Detailed Description

64 bytes, in declaration order, memcpy'd whole there is no padding on any ABI doppler builds for, and a static assertion in stream_core.c fails the build if that ever stops being true.

Numbers are in HOST byte order and data_rep says which order that was; the magic catches the mismatch first, so a wrong-endian frame is rejected rather than silently misread.

Public Attributes Documentation

variable center_freq

double dp_header_t::center_freq;

Centre frequency in Hz, 0 if unknown.


variable data_rep

char dp_header_t::data_rep[4];

DP_REP_LE or DP_REP_BE, no NUL.


variable flags

uint16_t dp_header_t::flags;

Bitwise OR of the DP_FLAG_* set.


variable format

uint16_t dp_header_t::format;

BLUE code (dp_sample_type_t); 0 when the kind is not sample data.


variable kind

uint16_t dp_header_t::kind;

dp_frame_kind_t: what the payload IS.


variable magic

uint64_t dp_header_t::magic;

DP_STREAM_MAGIC.


variable num_samples

uint64_t dp_header_t::num_samples;

Complex samples (DP_KIND_IQ) or records (DP_KIND_TLM) in THIS message.


variable payload_bytes

uint32_t dp_header_t::payload_bytes;

Bytes of payload in THIS message. The transport also knows the message length; a receiver requires the two to agree, which is what stops a header claiming more samples than were sent.


variable sample_rate

double dp_header_t::sample_rate;

Sample rate in Hz, 0 if unknown.


variable sequence

uint64_t dp_header_t::sequence;

Per-socket frame counter, from 0. A chunked frame consumes one number, not one per chunk.


variable timestamp_ns

uint64_t dp_header_t::timestamp_ns;

UNIX nanoseconds (CLOCK_REALTIME), or 0 for "no capture time" the same unset convention wfm_time.h uses, so a frame that never had one does not claim 1970.


variable version

uint16_t dp_header_t::version;

DP_WIRE_VERSION.



The documentation for this class was generated from the following file native/inc/stream/stream.h