pub trait Operation: Send + Sync {
// Required methods
fn required_size(&self, device: &Device) -> usize;
fn pack(
&mut self,
device: &Device,
tx: &mut [u8],
) -> Result<usize, AUTDInternalError>;
fn is_done(&self) -> bool;
}