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

    // Required method
    fn operation(self) -> Result<(Self::O1, Self::O2), AUTDInternalError>;

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

Datagram to be sent to devices

Required Associated Types§

Required Methods§

source

fn operation(self) -> Result<(Self::O1, Self::O2), AUTDInternalError>

Provided Methods§

Implementations on Foreign Types§

source§

impl<D1, D2> Datagram for (D1, D2)
where D1: Datagram<O2 = NullOp>, D2: Datagram<O2 = NullOp>,

§

type O1 = <D1 as Datagram>::O1

§

type O2 = <D2 as Datagram>::O1

source§

fn operation(self) -> Result<(Self::O1, Self::O2), AUTDInternalError>

source§

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

Implementors§

source§

impl Datagram for ChangeFocusSTMSegment

source§

impl Datagram for ChangeGainSTMSegment

source§

impl Datagram for ChangeGainSegment

source§

impl Datagram for ChangeModulationSegment

source§

impl Datagram for Clear

§

type O1 = ClearOp

§

type O2 = NullOp

source§

impl Datagram for ConfigureSilencer<FixedCompletionSteps>

source§

impl Datagram for ConfigureSilencer<FixedUpdateRate>

source§

impl Datagram for Synchronize

§

type O1 = SyncOp

§

type O2 = NullOp

source§

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

§

type O1 = <D as Datagram>::O1

§

type O2 = <D as Datagram>::O2

source§

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

§

type O1 = <D as DatagramS>::O1

§

type O2 = <D as DatagramS>::O2

source§

impl<D: DatagramS> Datagram for D

§

type O1 = <D as DatagramS>::O1

§

type O2 = <D as DatagramS>::O2

source§

impl<F: Fn(&Device) -> Option<&Transducer>> Datagram for ConfigureDebugOutputIdx<F>

§

type O1 = DebugOutIdxOp<F>

§

type O2 = NullOp

source§

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

source§

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

source§

impl<F: Fn(&Device, &Transducer) -> Phase> Datagram for ConfigurePhaseFilter<F>