pub async fn process(&mut self, resume_panic: bool) {
        loop {
            let task_key = self
                .completion_event_queue_receiver
                .recv()
                .await
                .expect("channel unexpectedly closed");

            match self.tasks.try_remove(task_key) {
                None => log::debug!("task {} is not longer attached to the manager", task_key),
                Some(task_handle) => match task_handle.await {
                    Err(TaskError::Panicked(reason)) => {
                        if resume_panic {
                            std::panic::resume_unwind(reason);
                        }
                    }
                    _ => {}
                },
            }
        }
    }
/// Runs manager processing loop handling task events.
/// Method is cancellation safe and can be used in `tokio::select!` macro.
/// If `resume_panic` argument is `true ` and any of the tasks panic
/// method resumes the panic on the current task. It is useful in test environment
/// when you want your application to be panicked if any of the spawned tasks panic.
Runs manager processing loop handling task events.
Method is cancellation safe and can be used in `tokio::select!` macro.
If `resume_panic` argument is `true ` and any of the tasks panic
method resumes the panic on the current task. It is useful in test environment
when you want your application to be panicked if any of the spawned tasks panic.
Runs manager processing loop handling task events . Method is cancellation safe and can be used in ` tokio :: select! ` macro . If ` resume_panic ` argument is ` true ` and any of the tasks panic method resumes the panic on the current task . It is useful in test environment when you want your application to be panicked if any of the spawned tasks panic .
pub async fn process(&mut self, resume_panic: bool) {
        loop {
            let task_key = self
                .completion_event_queue_receiver
                .recv()
                .await
                .expect("channel unexpectedly closed");
            match self.tasks.try_remove(task_key) {
                None => log::debug!("task {} is not longer attached to the manager", task_key),
                Some(task_handle) => match task_handle.await {
                    Err(TaskError::Panicked(reason)) => {
                        if resume_panic {
                            std::panic::resume_unwind(reason);
                        }
                    }
                    _ => {}
                },
            }
        }
    }
pub async fn process ( & mut self , resume_panic : bool ) { loop { let task_key = self . completion_event_queue_receiver . recv ( ) . await . expect ( " " ) ; match self . tasks . try_remove ( task_key ) { None => log :: debug ! ( " " task_key ) , Some ( task_handle ) => match task_handle . await { Err ( TaskError :: Panicked ( reason ) ) => { if resume_panic { std :: panic :: resume_unwind ( reason ) ; } } _ => { } } , } } }
Runs manager processing loop handling task events.
Runs manager processing loop handling task events .
&mut self
resume_panic
bool
&mut self
resume_panic
bool