use std::{
io,
rc::{Rc, Weak},
};
use crate::reactor::Reactor;
#[derive(Debug)]
pub struct NopSubmitter {
reactor: Weak<Reactor>,
}
impl NopSubmitter {
pub fn new() -> Self {
Self::default()
}
pub async fn run_nop(&self) -> io::Result<()> {
let reactor = self.reactor.upgrade().unwrap();
let source = reactor.nop();
source.collect_rw().await?;
Ok(())
}
}
impl Default for NopSubmitter {
fn default() -> Self {
let reactor = crate::executor().reactor();
let reactor = Rc::downgrade(&reactor);
Self { reactor }
}
}