dope_core/driver/
submission.rs1use crate::backend::ops::raw::submission::SubmissionBackend;
2use crate::backend::{Backend, Sqe};
3
4use super::{DriverContext, PushError};
5
6pub mod raw {
7 use crate::backend::ops::raw::submission::SubmissionBackend;
8 use crate::backend::{Backend, RawSqe};
9
10 use super::{DriverContext, PushError};
11
12 pub trait Submission {
13 unsafe fn push_raw(&mut self, sqe: RawSqe) -> Result<(), PushError>;
21 }
22
23 impl Submission for DriverContext<'_, '_> {
24 unsafe fn push_raw(&mut self, sqe: RawSqe) -> Result<(), PushError> {
25 <Backend as SubmissionBackend>::push(self.backend(), sqe.into_sqe())
26 }
27 }
28}
29
30pub trait Submission {
31 fn push(&mut self, sqe: Sqe) -> Result<(), PushError>;
32 fn flush_submissions(&mut self) -> bool;
33}
34
35impl Submission for DriverContext<'_, '_> {
36 fn push(&mut self, sqe: Sqe) -> Result<(), PushError> {
37 <Backend as SubmissionBackend>::push(self.backend(), sqe)
38 }
39
40 fn flush_submissions(&mut self) -> bool {
41 <Backend as SubmissionBackend>::flush_submissions(self.backend())
42 }
43}