Trait autd3_driver::datagram::Datagram

source ·
pub trait Datagram {
    type G: OperationGenerator;

    // Required method
    fn operation_generator(
        self,
        geometry: &Geometry,
    ) -> Result<Self::G, AUTDInternalError>;

    // Provided methods
    fn timeout(&self) -> Option<Duration> { ... }
    fn parallel_threshold(&self) -> Option<usize> { ... }
    fn trace(&self, _geometry: &Geometry) { ... }
}

Required Associated Types§

Required Methods§

source

fn operation_generator( self, geometry: &Geometry, ) -> Result<Self::G, AUTDInternalError>

Provided Methods§

source

fn timeout(&self) -> Option<Duration>

source

fn parallel_threshold(&self) -> Option<usize>

source

fn trace(&self, _geometry: &Geometry)

Implementations on Foreign Types§

source§

impl<'a> Datagram for Box<dyn Gain + Send + Sync + 'a>

§

type G = GainOperationGenerator<Box<dyn Gain + Send + Sync + 'a>>

source§

fn operation_generator( self, geometry: &Geometry, ) -> Result<Self::G, AUTDInternalError>

source§

fn trace(&self, geometry: &Geometry)

source§

impl<G1, G2, D1, D2> Datagram for (D1, D2)
where D1: Datagram<G = G1>, D2: Datagram<G = G2>, G1: OperationGenerator<O2 = NullOp>, G2: OperationGenerator<O2 = NullOp>,

Implementors§

source§

impl Datagram for SwapSegment

§

type G = SwapSegmentOpGenerator

source§

impl Datagram for Clear

§

type G = ClearOpGenerator

source§

impl Datagram for Silencer<FixedCompletionTime>

§

type G = SilencerFixedCompletionTimeOpGenerator

source§

impl Datagram for Silencer<FixedUpdateRate>

§

type G = SilencerFixedUpdateRateOpGenerator

source§

impl Datagram for Synchronize

§

type G = SynchronizeOpGenerator

source§

impl<D: Datagram> Datagram for DatagramWithParallelThreshold<D>

§

type G = <D as Datagram>::G

source§

impl<D: Datagram> Datagram for DatagramWithTimeout<D>

§

type G = <D as Datagram>::G

source§

impl<D: DatagramS> Datagram for DatagramWithSegment<D>

§

type G = <D as DatagramS>::G

source§

impl<D: DatagramST> Datagram for DatagramWithSegmentTransition<D>

§

type G = <D as DatagramST>::G

source§

impl<D: DatagramST> Datagram for D

§

type G = <D as DatagramST>::G

source§

impl<F: Fn(&Device) -> bool> Datagram for ForceFan<F>

§

type G = ForceFanOpGenerator<F>

source§

impl<F: Fn(&Device) -> bool> Datagram for ReadsFPGAState<F>

§

type G = ReadsFPGAStateOpGenerator<F>

source§

impl<F: Fn(&Device, GPIOOut) -> DebugType<'_> + Send + Sync> Datagram for DebugSettings<F>

§

type G = DebugSettingOpGenerator<F>

source§

impl<G: Gain> Datagram for Cache<G>

source§

impl<G: Gain, D: Into<Drive>, FT: Fn(&Transducer, Drive) -> D + Send + Sync + 'static, F: Fn(&Device) -> FT> Datagram for Transform<G, D, FT, F>

§

type G = GainOperationGenerator<Transform<G, D, FT, F>>

source§

impl<H: Fn(GPIOIn) -> bool + Send + Sync, F: Fn(&Device) -> H> Datagram for EmulateGPIOIn<H, F>

§

type G = EmulateGPIOInOpGenerator<H, F>

source§

impl<H: Fn(u8) -> u8 + Send + Sync, F: Fn(&Device) -> H> Datagram for PulseWidthEncoder<H, F>

§

type G = PulseWidthEncoderOpGenerator<H, F>

source§

impl<K, FK, F> Datagram for Group<K, FK, F>
where K: Hash + Eq + Clone + Debug + Send + Sync, FK: Fn(&Transducer) -> Option<K> + Send + Sync, F: Fn(&Device) -> FK + Send + Sync,

§

type G = GainOperationGenerator<Group<K, FK, F>>