diff --git a/src/jobs.rs b/src/jobs.rs
index 9023e8336..c151b4e88 100644
--- a/src/jobs.rs
+++ b/src/jobs.rs
@@ -19,6 +19,13 @@
* along with meli. If not, see .
*/
+//! Async job executor thread pool
+//!
+//! ## Usage
+//! ```no_run
+//! let (channel, handle, job_id) = job_executor.spawn(job);
+//! ```
+
use melib::error::Result;
use melib::smol;
use std::future::Future;
@@ -96,7 +103,6 @@ pub struct MeliTask {
#[derive(Debug)]
pub struct JobExecutor {
- active_jobs: Vec,
global_queue: Arc>,
workers: Vec>,
sender: Sender,
@@ -108,7 +114,6 @@ impl JobExecutor {
pub fn new(sender: Sender) -> Self {
// Create a queue.
let mut ret = JobExecutor {
- active_jobs: vec![],
global_queue: Arc::new(Injector::new()),
workers: vec![],
parkers: vec![],
@@ -151,6 +156,7 @@ impl JobExecutor {
}
ret
}
+
/// Spawns a future on the executor.
pub fn spawn(&self, future: F) -> (JoinHandle, JobId)
where
@@ -180,7 +186,7 @@ impl JobExecutor {
(JoinHandle(handle), job_id)
}
- ///// Spawns a future on the executor.
+ /// Spawns a future with a generic return value `R`
pub fn spawn_specialized(&self, future: F) -> (oneshot::Receiver, JoinHandle, JobId)
where
F: Future