[][src]Trait smartpool::channel::ExecParam

pub trait ExecParam {
    type Param;
    fn submit(&self, task: RunningTask, param: Self::Param);

    fn exec(
        &self,
        future: impl Future<Item = (), Error = ()> + Send + 'static,
        param: Self::Param
    ) { ... }
fn exec_push<I: Send + 'static, E: Send + 'static>(
        &self,
        future: impl Future<Item = I, Error = E> + Send + 'static,
        param: Self::Param
    ) -> PushFutureRecv<I, E> { ... } }

Trait for channels for which a task can be submitted along side an additional parameter.

Associated Types

type Param

Loading content...

Required methods

fn submit(&self, task: RunningTask, param: Self::Param)

Submit a raw running task.

Loading content...

Provided methods

fn exec(
    &self,
    future: impl Future<Item = (), Error = ()> + Send + 'static,
    param: Self::Param
)

Execute a future on this channel.

fn exec_push<I: Send + 'static, E: Send + 'static>(
    &self,
    future: impl Future<Item = I, Error = E> + Send + 'static,
    param: Self::Param
) -> PushFutureRecv<I, E>

Execute a future on this channel, and push the result to a push future.

Loading content...

Implementations on Foreign Types

impl<E: ExecParam> ExecParam for Arc<RwLock<E>>[src]

Shared exec param implementation.

type Param = E::Param

fn exec(
    &self,
    future: impl Future<Item = (), Error = ()> + Send + 'static,
    param: Self::Param
)
[src]

fn exec_push<I: Send + 'static, E: Send + 'static>(
    &self,
    future: impl Future<Item = I, Error = E> + Send + 'static,
    param: Self::Param
) -> PushFutureRecv<I, E>
[src]

Loading content...

Implementors

impl ExecParam for ShortestDeadlineFirst[src]

type Param = SteadyTime

fn exec(
    &self,
    future: impl Future<Item = (), Error = ()> + Send + 'static,
    param: Self::Param
)
[src]

fn exec_push<I: Send + 'static, E: Send + 'static>(
    &self,
    future: impl Future<Item = I, Error = E> + Send + 'static,
    param: Self::Param
) -> PushFutureRecv<I, E>
[src]

impl<Inner: Channel + ExecParam> ExecParam for MultiChannel<Inner>[src]

type Param = Inner::Param

fn exec(
    &self,
    future: impl Future<Item = (), Error = ()> + Send + 'static,
    param: Self::Param
)
[src]

fn exec_push<I: Send + 'static, E: Send + 'static>(
    &self,
    future: impl Future<Item = I, Error = E> + Send + 'static,
    param: Self::Param
) -> PushFutureRecv<I, E>
[src]

Loading content...