pub trait DatagramS {
    type O1: Operation;
    type O2: Operation;

    // Required method
    fn operation_with_segment(
        self,
        segment: Segment,
        update_segment: bool
    ) -> Result<(Self::O1, Self::O2), AUTDInternalError>;

    // Provided method
    fn timeout(&self) -> Option<Duration> { ... }
}

Required Associated Types§

Required Methods§

source

fn operation_with_segment( self, segment: Segment, update_segment: bool ) -> Result<(Self::O1, Self::O2), AUTDInternalError>

Provided Methods§

Implementations on Foreign Types§

source§

impl DatagramS for Box<dyn Gain>

§

type O1 = GainOp<Box<dyn Gain>>

§

type O2 = NullOp

source§

fn operation_with_segment( self, segment: Segment, update_segment: bool ) -> Result<(Self::O1, Self::O2), AUTDInternalError>

source§

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

source§

impl DatagramS for Box<dyn Modulation>

§

type O1 = ModulationOp

§

type O2 = NullOp

source§

fn operation_with_segment( self, segment: Segment, update_segment: bool ) -> Result<(Self::O1, Self::O2), AUTDInternalError>

source§

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

Implementors§

source§

impl DatagramS for FocusSTM

§

type O1 = FocusSTMOp

§

type O2 = NullOp

source§

impl<G: Gain + 'static> DatagramS for autd3_driver::datagram::GainCache<G>
where GainOp<Self>: Operation,

§

type O1 = GainOp<Cache<G>>

§

type O2 = NullOp

source§

impl<G: Gain + 'static, F: Fn(&Device, &Transducer, Drive) -> Drive + 'static> DatagramS for autd3_driver::datagram::GainTransform<G, F>
where GainOp<Self>: Operation,

§

type O1 = GainOp<Transform<G, F>>

§

type O2 = NullOp

source§

impl<G: Gain> DatagramS for GainSTM<G>

§

type O1 = GainSTMOp<G>

§

type O2 = NullOp

source§

impl<K, F> DatagramS for Group<K, F>
where GainOp<Self>: Operation, K: Hash + Eq + Clone + 'static, F: Fn(&Device, &Transducer) -> Option<K> + 'static,

§

type O1 = GainOp<Group<K, F>>

§

type O2 = NullOp

source§

impl<M: Modulation> DatagramS for autd3_driver::datagram::ModulationCache<M>

source§

impl<M: Modulation> DatagramS for RadiationPressure<M>

source§

impl<M: Modulation, F: Fn(usize, EmitIntensity) -> EmitIntensity> DatagramS for autd3_driver::datagram::ModulationTransform<M, F>