Trait seify::RxStreamer

source ·
pub trait RxStreamer: Send {
    fn mtu(&self) -> Result<usize, Error>;
    fn activate(&mut self, time_ns: Option<i64>) -> Result<(), Error>;
    fn deactivate(&mut self, time_ns: Option<i64>) -> Result<(), Error>;
    fn read(
        &mut self,
        buffers: &mut [&mut [Complex32]],
        timeout_us: i64
    ) -> Result<usize, Error>; }
Expand description

Receive samples from a Device through one or multiple channels.

Required Methods§

Get the stream’s maximum transmission unit (MTU) in number of elements.

The MTU specifies the maximum payload transfer in a stream operation. This value can be used as a stream buffer allocation size that can best optimize throughput given the underlying stream implementation.

Activate a stream.

Call activate to enable a stream before using read()

Arguments:
  • time_ns – optional activation time in nanoseconds from the time the function is called.

Deactivate a stream. The implementation will control switches or halt data flow.

Arguments:
  • time_ns – optional deactivation time in nanoseconds from the time the function is called.

Read samples from the stream into the provided buffers.

buffers contains one destination slice for each channel of this stream.

Returns the number of samples read, which may be smaller than the size of the passed arrays.

Panics
  • If buffers is not the same length as the channels array passed to Device::rx_stream that created the streamer.

Implementors§