[−][src]Struct mpmc_scheduler::Controller
The Controller is a non-producing handle to the scheduler. It allows creation of new channels as well as clearing of queues.
Methods
impl<K, V, FB, FR, R> Controller<K, V, FB, FR, R> where
K: Sync + Send + Hash + Eq,
V: Sync + Send + 'static,
FB: Fn(V) -> R + Send + Sync + 'static,
FR: Fn(R) + Send + Sync + 'static,
[src]
impl<K, V, FB, FR, R> Controller<K, V, FB, FR, R> where
K: Sync + Send + Hash + Eq,
V: Sync + Send + 'static,
FB: Fn(V) -> R + Send + Sync + 'static,
FR: Fn(R) + Send + Sync + 'static,
pub fn channel(&self, key: K, bound: usize) -> Sender<V> | [src] |
Create a new channel, returns the producer site. The channel bound has to be a power of 2 ! May block if clearing or scheduling tick is currently running.
pub fn cancel_channel(&self, key: &K) -> Result<(), ()> | [src] |
Clear queue for specific channel & running jobs if supported.
May block if channel
is called or a schedule is running.
Note that for a queue with bounds n, it has a O(n) worst case complexity.
Returns Err if the specified channel is invalid.
pub fn gc(&self) | [src] |
Manually trigger schedule. Normaly not required but if you should drop a lot of channels and don't insert/complete a job in the next time, you may call this.
Trait Implementations
impl<K: Clone, V: Clone, FB: Clone, FR: Clone, R: Clone> Clone for Controller<K, V, FB, FR, R> where
K: Sync + Send + Hash + Eq,
V: Sync + Send + 'static,
FB: Fn(V) -> R + Send + Sync + 'static,
FR: Fn(R) + Send + Sync + 'static,
[src]
impl<K: Clone, V: Clone, FB: Clone, FR: Clone, R: Clone> Clone for Controller<K, V, FB, FR, R> where
K: Sync + Send + Hash + Eq,
V: Sync + Send + 'static,
FB: Fn(V) -> R + Send + Sync + 'static,
FR: Fn(R) + Send + Sync + 'static,
fn clone(&self) -> Controller<K, V, FB, FR, R> | [src] |
fn clone_from(&mut self, source: &Self) | 1.0.0 [src] |
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl<K, V, FB, FR, R> Send for Controller<K, V, FB, FR, R>
impl<K, V, FB, FR, R> Send for Controller<K, V, FB, FR, R>
impl<K, V, FB, FR, R> Sync for Controller<K, V, FB, FR, R>
impl<K, V, FB, FR, R> Sync for Controller<K, V, FB, FR, R>
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error> | [src] |
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error> | [src] |
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T | [src] |
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId | [src] |