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§
sourcefn mtu(&self) -> Result<usize, Error>
fn mtu(&self) -> Result<usize, Error>
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.
sourcefn activate(&mut self, time_ns: Option<i64>) -> Result<(), Error>
fn activate(&mut self, time_ns: Option<i64>) -> Result<(), Error>
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.
sourcefn deactivate(&mut self, time_ns: Option<i64>) -> Result<(), Error>
fn deactivate(&mut self, time_ns: Option<i64>) -> Result<(), Error>
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.
sourcefn read(
&mut self,
buffers: &mut [&mut [Complex32]],
timeout_us: i64
) -> Result<usize, Error>
fn read(
&mut self,
buffers: &mut [&mut [Complex32]],
timeout_us: i64
) -> Result<usize, Error>
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
buffersis not the same length as thechannelsarray passed toDevice::rx_streamthat created the streamer.