Trait rusty_pool::Task[][src]

pub trait Task<R: Send>: Send {
    fn run(self) -> R;
fn into_fn(self) -> Option<Box<dyn FnOnce() -> R + Send + 'static>>;
fn is_fn(&self) -> bool; }

Trait to implement for all items that may be executed by the ThreadPool.

Required methods

fn run(self) -> R[src]

Execute this task and return its result.

fn into_fn(self) -> Option<Box<dyn FnOnce() -> R + Send + 'static>>[src]

Transform this Task into a heap allocated FnOnce if possible.

Used by ThreadPool::execute to turn this Task into a Job directly without having to create an additional Job that calls this Task.

fn is_fn(&self) -> bool[src]

Return true if calling Task::into_fn on this Task returns Some.

Loading content...

Implementations on Foreign Types

impl Task<()> for Arc<AsyncTask>[src]

Implement the Task trait for AsyncTask in order to make it executable for the pool by creating a waker and polling the future.

fn run(self)[src]

fn into_fn(self) -> Option<Box<dyn FnOnce() + Send + 'static>>[src]

fn is_fn(&self) -> bool[src]

Loading content...

Implementors

impl<R, F> Task<R> for F where
    R: Send,
    F: FnOnce() -> R + Send + 'static, 
[src]

Implement the Task trait for any FnOnce closure that returns a thread-safe result.

fn run(self) -> R[src]

fn into_fn(self) -> Option<Box<dyn FnOnce() -> R + Send + 'static>>[src]

fn is_fn(&self) -> bool[src]

Loading content...