#include <uhd/types/metadata.hpp>
Public Types | |
enum | error_code_t { ERROR_CODE_NONE = 0x0, ERROR_CODE_TIMEOUT = 0x1, ERROR_CODE_LATE_COMMAND = 0x2, ERROR_CODE_BROKEN_CHAIN = 0x4, ERROR_CODE_OVERFLOW = 0x8, ERROR_CODE_ALIGNMENT = 0xc, ERROR_CODE_BAD_PACKET = 0xf } |
Public Member Functions | |
rx_metadata_t () | |
Default constructor. More... | |
void | reset () |
Reset values. More... | |
std::string | to_pp_string (bool compact=true) const |
std::string | strerror (void) const |
Public Attributes | |
bool | has_time_spec |
Has time specification? More... | |
time_spec_t | time_spec |
Time of the first sample. More... | |
bool | more_fragments |
size_t | fragment_offset |
bool | start_of_burst |
Start of burst will be true for the first packet in the chain. More... | |
bool | end_of_burst |
End of burst will be true for the last packet in the chain. More... | |
enum uhd::rx_metadata_t::error_code_t | error_code |
bool | out_of_sequence |
RX metadata structure for describing sent IF data. Includes time specification, fragmentation flags, burst flags, and error codes. The receive routines will convert IF data headers into metadata.
The error condition on a receive call.
Note: When an overrun occurs in continuous streaming mode, the device will continue to send samples to the host. For other streaming modes, streaming will discontinue until the user issues a new stream command.
The metadata fields have meaning for the following error codes:
|
inline |
Default constructor.
|
inline |
Reset values.
std::string uhd::rx_metadata_t::strerror | ( | void | ) | const |
Similar to C's strerror() function, creates a std::string describing the error code.
std::string uhd::rx_metadata_t::to_pp_string | ( | bool | compact = true | ) | const |
Convert a rx_metadata_t into a pretty print string.
compact | Set to false for a more verbose output. |
bool uhd::rx_metadata_t::end_of_burst |
End of burst will be true for the last packet in the chain.
enum uhd::rx_metadata_t::error_code_t uhd::rx_metadata_t::error_code |
size_t uhd::rx_metadata_t::fragment_offset |
Fragmentation offset: The fragment offset is the sample number at the start of the receive buffer. For non-fragmented receives, the fragment offset should always be zero.
bool uhd::rx_metadata_t::has_time_spec |
Has time specification?
bool uhd::rx_metadata_t::more_fragments |
Fragmentation flag: Similar to IPv4 fragmentation: http://en.wikipedia.org/wiki/IPv4#Fragmentation_and_reassembly More fragments is true when the input buffer has insufficient size to fit an entire received packet. More fragments will be false for the last fragment.
bool uhd::rx_metadata_t::out_of_sequence |
Out of sequence. The transport has either dropped a packet or received data out of order.
bool uhd::rx_metadata_t::start_of_burst |
Start of burst will be true for the first packet in the chain.
time_spec_t uhd::rx_metadata_t::time_spec |
Time of the first sample.