use crate::flow::Flow;
use crate::result::Result;
#[derive(Clone, Copy)]
pub struct RegisterBuffer {
pub ptr: *const u8,
pub len: usize,
}
pub trait Backend {
fn submit(&self, flows: &[Flow]) -> crate::error::Result<usize>;
fn reap(&self, results: &mut Vec<Result>) -> crate::error::Result<usize>;
fn wait(&self, timeout_us: u64) -> crate::error::Result<()>;
fn in_flight(&self) -> u32;
fn register_buffers(&self, _buffers: &[RegisterBuffer]) -> crate::error::Result<()> {
Ok(())
}
fn unregister_buffers(&self) -> crate::error::Result<()> {
Ok(())
}
}