< rx_streamer >
|typedef ref_vector< void * >||buffs_type|
|Typedef for a pointer to a single, or a collection of recv buffers. |
|virtual size_t||get_num_channels (void) const =0|
|Get the number of channels associated with this streamer. |
|virtual size_t||get_max_num_samps (void) const =0|
|Get the max number of samples per buffer per packet. |
|virtual size_t||recv (const buffs_type &buffs, const size_t nsamps_per_buff, rx_metadata_t &metadata, const double timeout=0.1, const bool one_packet=false)=0|
The RX streamer is the host interface to receiving samples. It represents the layer between the samples on the host and samples inside the device's receive DSP processing.
Typedef for a pointer to a single, or a collection of recv buffers.
|virtual size_t uhd::rx_streamer::get_max_num_samps||(||void||)|| const
Get the max number of samples per buffer per packet.
|virtual size_t uhd::rx_streamer::get_num_channels||(||void||)|| const
Get the number of channels associated with this streamer.
|virtual size_t uhd::rx_streamer::recv||(||const buffs_type &||buffs,|
|const double||timeout =
|const bool||one_packet =
Receive buffers containing samples described by the metadata.
Receive handles fragmentation as follows: If the buffer has insufficient space to hold all samples that were received in a single packet over-the-wire, then the buffer will be completely filled and the implementation will hold a pointer into the remaining portion of the packet. Subsequent calls will load from the remainder of the packet, and will flag the metadata to show that this is a fragment. The next call to receive, after the remainder becomes exahausted, will perform an over-the-wire receive as usual. See the rx metadata fragment flags and offset fields for details.
This is a blocking call and will not return until the number of samples returned have been written into each buffer. Under a timeout condition, the number of samples returned may be less than the number of samples specified.
The one_packet option allows the user to guarantee that the call will return after a single packet has been processed. This may be useful to maintain packet boundaries in some cases.
|buffs||a vector of writable memory to fill with samples|
|nsamps_per_buff||the size of each buffer in number of samples|
|metadata||data to fill describing the buffer|
|timeout||the timeout in seconds to wait for a packet|
|one_packet||return after the first packet is received|