Struct tikv_util::worker::Worker[][src]

pub struct Worker {
    pool: Arc<Mutex<Option<ThreadPool<TaskCell>>>>,
    remote: Remote<TaskCell>,
    pending_capacity: usize,
    counter: Arc<AtomicUsize>,
    stop: Arc<AtomicBool>,
    thread_count: usize,
}

A worker that can schedule time consuming tasks.

Fields

pool: Arc<Mutex<Option<ThreadPool<TaskCell>>>>remote: Remote<TaskCell>pending_capacity: usizecounter: Arc<AtomicUsize>stop: Arc<AtomicBool>thread_count: usize

Implementations

impl Worker[src]

pub fn new<S: Into<String>>(name: S) -> Worker[src]

pub fn start<R: Runnable + 'static, S: Into<String>>(
    &self,
    name: S,
    runner: R
) -> Scheduler<R::Task>
[src]

pub fn start_with_timer<R: RunnableWithTimer + 'static, S: Into<String>>(
    &self,
    name: S,
    runner: R
) -> Scheduler<R::Task>
[src]

pub fn spawn_interval_task<F>(&self, interval: Duration, func: F) where
    F: FnMut() + Send + 'static, 
[src]

fn delay_notify<T: Display + Send + 'static>(
    tx: UnboundedSender<Msg<T>>,
    timeout: Duration
)
[src]

pub fn lazy_build<T: Display + Send + 'static, S: Into<String>>(
    &self,
    name: S
) -> LazyWorker<T>
[src]

pub fn stop(&self)[src]

Stops the worker thread.

pub fn is_busy(&self) -> bool[src]

Checks if underlying worker can’t handle task immediately.

fn start_impl<R: Runnable + 'static>(
    &self,
    runner: R,
    receiver: UnboundedReceiver<Msg<R::Task>>,
    metrics_pending_task_count: IntGauge
)
[src]

fn start_with_timer_impl<R>(
    &self,
    runner: R,
    tx: UnboundedSender<Msg<R::Task>>,
    receiver: UnboundedReceiver<Msg<R::Task>>,
    metrics_pending_task_count: IntGauge
) where
    R: RunnableWithTimer + 'static, 
[src]

Trait Implementations

impl Clone for Worker[src]

Auto Trait Implementations

impl !RefUnwindSafe for Worker

impl Send for Worker

impl Sync for Worker

impl Unpin for Worker

impl !UnwindSafe for Worker

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]