pub struct CommandOperation<'i, Interface, AddressType: Copy, InFieldSet, OutFieldSet> { /* private fields */ }
Expand description
Intermediate type for doing command operations
Implementations§
Source§impl<Interface, AddressType: Copy> CommandOperation<'_, Interface, AddressType, (), ()>where
Interface: CommandInterface<AddressType = AddressType>,
Simple command
impl<Interface, AddressType: Copy> CommandOperation<'_, Interface, AddressType, (), ()>where
Interface: CommandInterface<AddressType = AddressType>,
Simple command
Source§impl<Interface, AddressType: Copy, InFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, ()>where
Interface: CommandInterface<AddressType = AddressType>,
Only input
impl<Interface, AddressType: Copy, InFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, ()>where
Interface: CommandInterface<AddressType = AddressType>,
Only input
Source§impl<Interface, AddressType: Copy, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, (), OutFieldSet>where
Interface: CommandInterface<AddressType = AddressType>,
Only output
impl<Interface, AddressType: Copy, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, (), OutFieldSet>where
Interface: CommandInterface<AddressType = AddressType>,
Only output
Source§impl<Interface, AddressType: Copy, InFieldSet: FieldSet, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, OutFieldSet>where
Interface: CommandInterface<AddressType = AddressType>,
Input and output
impl<Interface, AddressType: Copy, InFieldSet: FieldSet, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, OutFieldSet>where
Interface: CommandInterface<AddressType = AddressType>,
Input and output
Source§impl<Interface, AddressType: Copy> CommandOperation<'_, Interface, AddressType, (), ()>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Simple command async
impl<Interface, AddressType: Copy> CommandOperation<'_, Interface, AddressType, (), ()>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Simple command async
Sourcepub async fn dispatch_async(self) -> Result<(), Interface::Error>
pub async fn dispatch_async(self) -> Result<(), Interface::Error>
Dispatch the command to the device
Source§impl<Interface, AddressType: Copy, InFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, ()>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Only input async
impl<Interface, AddressType: Copy, InFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, ()>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Only input async
Sourcepub async fn dispatch_async(
self,
f: impl FnOnce(&mut InFieldSet),
) -> Result<(), Interface::Error>
pub async fn dispatch_async( self, f: impl FnOnce(&mut InFieldSet), ) -> Result<(), Interface::Error>
Dispatch the command to the device
Source§impl<Interface, AddressType: Copy, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, (), OutFieldSet>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Only output async
impl<Interface, AddressType: Copy, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, (), OutFieldSet>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Only output async
Sourcepub async fn dispatch_async(self) -> Result<OutFieldSet, Interface::Error>
pub async fn dispatch_async(self) -> Result<OutFieldSet, Interface::Error>
Dispatch the command to the device
Source§impl<Interface, AddressType: Copy, InFieldSet: FieldSet, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, OutFieldSet>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Input and output async
impl<Interface, AddressType: Copy, InFieldSet: FieldSet, OutFieldSet: FieldSet> CommandOperation<'_, Interface, AddressType, InFieldSet, OutFieldSet>where
Interface: AsyncCommandInterface<AddressType = AddressType>,
Input and output async
Sourcepub async fn dispatch_async(
self,
f: impl FnOnce(&mut InFieldSet),
) -> Result<OutFieldSet, Interface::Error>
pub async fn dispatch_async( self, f: impl FnOnce(&mut InFieldSet), ) -> Result<OutFieldSet, Interface::Error>
Dispatch the command to the device
Auto Trait Implementations§
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> Freeze for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>where
AddressType: Freeze,
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> RefUnwindSafe for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>where
AddressType: RefUnwindSafe,
Interface: RefUnwindSafe,
InFieldSet: RefUnwindSafe,
OutFieldSet: RefUnwindSafe,
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> Send for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> Sync for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> Unpin for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>
impl<'i, Interface, AddressType, InFieldSet, OutFieldSet> !UnwindSafe for CommandOperation<'i, Interface, AddressType, InFieldSet, OutFieldSet>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more