Block

Trait Block 

Source
pub trait Block:
    BlockName
    + BlockEOF
    + Send {
    // Required method
    fn work(&mut self) -> Result<BlockRet<'_>>;
}
Expand description

Block trait. Must be implemented for all blocks.

Simpler blocks can use macros to avoid needing to implement work().

Required Methods§

Source

fn work(&mut self) -> Result<BlockRet<'_>>

Block work function

A block implementation keeps track of its own inputs and outputs.

Implementors§

Source§

impl Block for AuDecode

Source§

impl Block for AuEncode

Source§

impl Block for BinarySlicer

Source§

impl Block for CmaEqualizer

Source§

impl Block for ComplexToMag2

Source§

impl Block for ComplexToFloat

Source§

impl Block for FloatToComplex

Source§

impl Block for CorrelateAccessCode

Source§

impl Block for CorrelateAccessCodeTag

Source§

impl Block for Descrambler

Source§

impl Block for Scrambler

Source§

impl Block for Fft

Source§

impl Block for FftStream

Source§

impl Block for Hasher

Source§

impl Block for HdlcDeframer

Source§

impl Block for FcsAdder

Source§

impl Block for HdlcFramer

Source§

impl Block for Hilbert

Source§

impl Block for Il2pDeframer

Source§

impl Block for KissDecode

Source§

impl Block for KissEncode

Source§

impl Block for KissFrame

Source§

impl Block for MorseEncode

Source§

impl Block for NrziDecode

Source§

impl Block for NrziEncode

Source§

impl Block for FastFM

Source§

impl Block for QuadratureDemod

Source§

impl Block for RtlSdrDecode

Source§

impl Block for SignalSourceComplex

Source§

impl Block for SignalSourceFloat

Source§

impl Block for SymbolSync

Source§

impl Block for Vco

Source§

impl Block for Midpointer

Source§

impl Block for Wpcr

Source§

impl Block for ZeroCrossing

Source§

impl<In, F> Block for Inspect<In, F>
where In: Sample, F: Fn(In, &[Tag]) + Send,

Source§

impl<In, Out, F> Block for Map<In, Out, F>
where In: Sample, Out: Sample, F: for<'a> Fn(In, &'a [Tag]) -> (Out, Cow<'a, [Tag]>) + Send,

Source§

impl<In, Out, F> Block for NCMap<In, Out, F>
where In: Send + Sync, Out: Send + Sync, F: Fn(In, Vec<Tag>) -> Vec<(Out, Vec<Tag>)> + Send,

Source§

impl<T> Block for DebugFilter<T>
where T: Sample + Debug,

Source§

impl<T> Block for DebugSink<T>
where T: Sample + Debug,

Source§

impl<T> Block for DebugSinkNoCopy<T>
where T: Debug + Default + Send + Sync + 'static,

Source§

impl<T> Block for FileSink<T>
where T: Sample<Type = T> + Debug,

Source§

impl<T> Block for NoCopyFileSink<T>
where T: Sample<Type = T> + Debug + Default,

Source§

impl<T> Block for FileSource<T>
where T: Sample<Type = T> + Debug,

Source§

impl<T> Block for FirFilter<T>
where T: Sample + Mul<T, Output = T> + Add<T, Output = T>,

Source§

impl<T> Block for MultiplyConst<T>
where T: Sample + Mul<Output = T>,

Source§

impl<T> Block for ReaderSource<T>
where T: Sample<Type = T> + Debug,

Source§

impl<T> Block for SigMFSource<T>
where T: Sample<Type = T> + Debug + Type,

Source§

impl<T> Block for SinglePoleIirFilter<T>
where T: Sample + Mul<Float, Output = T> + Mul<T, Output = T> + Add<T, Output = T>,

Source§

impl<T> Block for TcpSource<T>
where T: Sample<Type = T> + Debug,

Source§

impl<T> Block for VectorSource<T>
where T: Sample,

Source§

impl<T> Block for WriterSink<T>
where T: Sample<Type = T> + Debug,

Source§

impl<T> Block for Xor<T>
where T: Sample + BitXor<Output = T>,

Source§

impl<T> Block for XorConst<T>
where T: Sample + BitXor<Output = T>,

Source§

impl<T, F> Block for Canary<T, F>
where F: Fn() + Send, T: Sample,

Source§

impl<T: Engine> Block for FftFilter<T>

Source§

impl<T: Engine> Block for FftFilterFloat<T>

Source§

impl<T: Sample + Debug> Block for Skip<T>

Source§

impl<T: Sample + Debug> Block for ToText<T>

Source§

impl<T: Sample + Add<Output = T>> Block for AddConst<T>

Source§

impl<T: Sample> Block for BurstTagger<T>

Source§

impl<T: Sample> Block for ConstantSource<T>

Source§

impl<T: Sample> Block for Delay<T>

Source§

impl<T: Sample> Block for NullSink<T>

Source§

impl<T: Sample> Block for PduToStream<T>

Source§

impl<T: Sample> Block for PduWriter<T>

Source§

impl<T: Sample> Block for RationalResampler<T>

Source§

impl<T: Sample> Block for StreamToPdu<T>

Source§

impl<T: Sample> Block for Tee<T>

Source§

impl<T: Sample> Block for VecToStream<T>

Source§

impl<T: Sample> Block for VectorSink<T>

Source§

impl<T: Sample<Type = T>> Block for Parse<T>

Source§

impl<T: Send + Clone> Block for Strobe<T>

Source§

impl<T: Send + Sync> Block for VectorSinkNoCopy<T>

Source§

impl<Ta, Tb, Tout> Block for Add<Ta, Tb, Tout>
where Ta: Sample + Add<Tb, Output = Tout>, Tb: Sample, Tout: Sample,