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