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§
Sourcetype BlockNumber
type BlockNumber
Block number type.
Sourcetype Error: TaskPoolError
type Error: TaskPoolError
Inner error type of queue storing algorithm.
Sourcetype OutputError: From<Self::Error>
type OutputError: From<Self::Error>
Output error type of the queue.
Required Methods§
Sourcefn add(bn: Self::BlockNumber, task: Self::Task) -> Result<(), Self::OutputError>
fn add(bn: Self::BlockNumber, task: Self::Task) -> Result<(), Self::OutputError>
Inserts given task in task pool.
Sourcefn contains(bn: &Self::BlockNumber, task: &Self::Task) -> bool
fn contains(bn: &Self::BlockNumber, task: &Self::Task) -> bool
Returns bool, defining does task exist in task pool.
Sourcefn delete(
bn: Self::BlockNumber,
task: Self::Task,
) -> Result<(), Self::OutputError>
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.