pub fn spawn_cb(&self, future: impl Future<Output = A> + 'static + Send, cb: extern "C" fn(u64), data: u64) {
        let future = future.boxed();
        let task = Arc::new(TaskCB {
            future: Mutex::new(Some(future)),
            task_sender: self.task_sender.clone(),
            cb,
            data,
        });
        self.task_sender.send(task).expect("too many tasks queued A");
    }
/// a spawner that accepts a C callback
a spawner that accepts a C callback
a spawner that accepts a C callback
pub fn spawn_cb(&self, future: impl Future<Output = A> + 'static + Send, cb: extern "C" fn(u64), data: u64) {
        let future = future.boxed();
        let task = Arc::new(TaskCB {
            future: Mutex::new(Some(future)),
            task_sender: self.task_sender.clone(),
            cb,
            data,
        });
        self.task_sender.send(task).expect("too many tasks queued A");
    }
pub fn spawn_cb ( & self , future : impl Future < Output = A > + ' static + Send , cb : extern " " fn ( u64 ) , data : u64 ) { let future = future . boxed ( ) ; let task = Arc :: new ( TaskCB { future : Mutex :: new ( Some ( future ) ) , task_sender : self . task_sender . clone ( ) , cb , data , } ) ; self . task_sender . send ( task ) . expect ( " " ) ; }
a spawner that accepts a C callback
a spawner that accepts a C callback
&self
future
impl Future<Output = A> + 'static + Send
cb
extern "C" fn(u64)
data
u64