dope_core/driver/
submission.rs1use super::{DriverContext, PushError};
2use crate::backend::ops::raw::submission::SubmissionBackend;
3use crate::backend::{Backend, RetainedSqe, Sqe};
4
5pub trait Submission {
6 fn push(&mut self, sqe: Sqe) -> Result<(), PushError>;
7 fn push_retained(&mut self, sqe: RetainedSqe) -> Result<(), PushError>;
8 fn flush_submissions(&mut self) -> bool;
9}
10
11impl Submission for DriverContext<'_, '_> {
12 fn push(&mut self, sqe: Sqe) -> Result<(), PushError> {
13 <Backend as SubmissionBackend>::push(self.backend(), sqe)
14 }
15
16 fn push_retained(&mut self, sqe: RetainedSqe) -> Result<(), PushError> {
17 <Backend as SubmissionBackend>::push(self.backend(), Sqe::from_retained(sqe))
18 }
19
20 fn flush_submissions(&mut self) -> bool {
21 <Backend as SubmissionBackend>::flush_submissions(self.backend())
22 }
23}