TaskPool

Trait TaskPool 

Source
pub trait TaskPool {
    type BlockNumber;
    type Task;
    type Error: TaskPoolError;
    type OutputError: From<Self::Error>;

    // Required methods
    fn add(
        bn: Self::BlockNumber,
        task: Self::Task,
    ) -> Result<(), Self::OutputError>;
    fn clear();
    fn contains(bn: &Self::BlockNumber, task: &Self::Task) -> bool;
    fn delete(
        bn: Self::BlockNumber,
        task: Self::Task,
    ) -> Result<(), Self::OutputError>;
}
Expand description

Represents tasks managing logic.

Required Associated Types§

Source

type BlockNumber

Block number type.

Source

type Task

Task type.

Source

type Error: TaskPoolError

Inner error type of queue storing algorithm.

Source

type OutputError: From<Self::Error>

Output error type of the queue.

Required Methods§

Source

fn add(bn: Self::BlockNumber, task: Self::Task) -> Result<(), Self::OutputError>

Inserts given task in task pool.

Source

fn clear()

Removes all tasks from task pool.

Source

fn contains(bn: &Self::BlockNumber, task: &Self::Task) -> bool

Returns bool, defining does task exist in task pool.

Source

fn delete( bn: Self::BlockNumber, task: Self::Task, ) -> Result<(), Self::OutputError>

Removes task from task pool by given keys, if present, else returns error.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, Task, Error, OutputError, Callbacks> TaskPool for TaskPoolImpl<T, Task, Error, OutputError, Callbacks>
where T: DoubleMapStorage<Key2 = Task, Value = ()>, Error: TaskPoolError, OutputError: From<Error>, Callbacks: TaskPoolCallbacks,