Struct 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¶
Centre frequency in Hz, 0 if unknown.
variable data_rep¶
DP_REP_LE or DP_REP_BE, no NUL.
variable flags¶
Bitwise OR of the DP_FLAG_* set.
variable format¶
BLUE code (dp_sample_type_t); 0 when the kind is not sample data.
variable kind¶
dp_frame_kind_t: what the payload IS.
variable magic¶
variable num_samples¶
Complex samples (DP_KIND_IQ) or records (DP_KIND_TLM) in THIS message.
variable 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¶
Sample rate in Hz, 0 if unknown.
variable sequence¶
Per-socket frame counter, from 0. A chunked frame consumes one number, not one per chunk.
variable 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¶
The documentation for this class was generated from the following file native/inc/stream/stream.h