Struct soapysdr::TxStream

source ·
pub struct TxStream<E: StreamSample> { /* private fields */ }
Expand description

A stream open for transmitting.

To obtain a TxStream, call Device::tx_stream. The type parameter E represents the type of this stream’s samples.

Streams may involve multiple channels.

Implementations§

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 write()

Arguments:
  • time_ns – optional activation time in nanoseconds

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

Arguments:
  • time_ns – optional deactivation time in nanoseconds

Attempt to write samples to the device from the provided buffer.

The stream must first be activated.

buffers contains one source slice for each channel of the stream.

at_ns is an optional nanosecond precision device timestamp at which the device is to begin the transmission (c.f. get_hardware_time).

end_burst indicates when this packet ends a burst transmission.

Returns the number of samples written, 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::tx_stream.
  • If all the buffers in buffers are not the same length.

Write all samples to the device.

This method repeatedly calls write until the entire provided buffer has been written.

The stream must first be activated.

buffers contains one source slice for each channel of the stream.

at_ns is an optional nanosecond precision device timestamp at which the device is to begin the transmission (c.f. get_hardware_time).

end_burst indicates when this packet ends a burst transmission.

Panics
  • If buffers is not the same length as the channels array passed to Device::rx_stream.
  • If all the buffers in buffers are not the same length.

Trait Implementations§

Executes the destructor for this type. Read more

Streams may only be used on one thread at a time but may be sent between threads

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.