[−][src]Struct blocking_permit::BlockingPermit
A scoped permit for blocking operations. When dropped (out of scope or manually), the permit is released.
Methods
impl<'a> BlockingPermit<'a>
[src]
pub fn enter(&self)
[src]
Enter the blocking section of code on the current thread.
This is a secondary step from completion of the
BlockingPermitFuture
as it must be call on the same thread,
immediately before the blocking section. The blocking permit should
then be dropped at the end of the blocking section. If the
tokio-threaded feature is or might be used, run
should be
used instead.
Panics
Panics if this BlockingPermit
has already been entered.
pub fn run<F, T>(self, f: F) -> T where
F: FnOnce() -> T,
[src]
F: FnOnce() -> T,
Enter and run the blocking closure.
This wraps the tokio::task::block_in_place
call, as a secondary step
from completion of the BlockingPermitFuture
that must be call on
the same thread. The permit is passed by value and will be dropped on
termination of this call.
Panics
Panics if this BlockingPermit
has already been entered.
Trait Implementations
impl<'a> Debug for BlockingPermit<'a>
[src]
impl<'a> Drop for BlockingPermit<'a>
[src]
Auto Trait Implementations
impl<'a> !RefUnwindSafe for BlockingPermit<'a>
impl<'a> Send for BlockingPermit<'a>
impl<'a> !Sync for BlockingPermit<'a>
impl<'a> Unpin for BlockingPermit<'a>
impl<'a> !UnwindSafe for BlockingPermit<'a>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
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, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,