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. 
 
  
  
      
        
          | virtual size_t uhd::rx_streamer::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  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtual   | 
  
 
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.
- Parameters
 - 
  
    | 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  | 
  
   
- Returns
 - the number of samples received or 0 on error