Struct futures_util::future::Shared [−][src]
Future for the shared
method.
Implementations
impl<Fut> Shared<Fut> where
Fut: Future,
Fut::Output: Clone,
[src][−]
Fut: Future,
Fut::Output: Clone,
pub fn peek(&self) -> Option<&Fut::Output>
[src][−]
Returns Some
containing a reference to this Shared
’s output if
it has already been computed by a clone or None
if it hasn’t been
computed yet or this Shared
already returned its output from
poll
.
pub fn downgrade(&self) -> Option<WeakShared<Fut>>
[src][−]
Creates a new WeakShared
for this Shared
.
Returns None
if it has already been polled to completion.
pub fn strong_count(&self) -> Option<usize>
[src][−]
Gets the number of strong pointers to this allocation.
Returns None
if it has already been polled to completion.
Safety
This method by itself is safe, but using it correctly requires extra care. Another thread can change the strong count at any time, including potentially between calling this method and acting on the result.
pub fn weak_count(&self) -> Option<usize>
[src][−]
Gets the number of weak pointers to this allocation.
Returns None
if it has already been polled to completion.
Safety
This method by itself is safe, but using it correctly requires extra care. Another thread can change the weak count at any time, including potentially between calling this method and acting on the result.
Trait Implementations
impl<Fut> Clone for Shared<Fut> where
Fut: Future,
[src][+]
Fut: Future,
impl<Fut: Future> Debug for Shared<Fut>
[src][+]
impl<Fut> Drop for Shared<Fut> where
Fut: Future,
[src][+]
Fut: Future,
impl<Fut> FusedFuture for Shared<Fut> where
Fut: Future,
Fut::Output: Clone,
[src][+]
Fut: Future,
Fut::Output: Clone,
impl<Fut> Future for Shared<Fut> where
Fut: Future,
Fut::Output: Clone,
[src][+]
Fut: Future,
Fut::Output: Clone,
impl<Fut: Future> Unpin for Shared<Fut>
[src]
Auto Trait Implementations
impl<Fut> !RefUnwindSafe for Shared<Fut>
impl<Fut> Send for Shared<Fut> where
Fut: Send,
<Fut as Future>::Output: Send + Sync,
Fut: Send,
<Fut as Future>::Output: Send + Sync,
impl<Fut> Sync for Shared<Fut> where
Fut: Send,
<Fut as Future>::Output: Send + Sync,
Fut: Send,
<Fut as Future>::Output: Send + Sync,
impl<Fut> !UnwindSafe for Shared<Fut>
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,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<F> IntoFuture for F where
F: Future,
[src][+]
F: Future,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>> + ?Sized,
[src][+]
F: Future<Output = Result<T, E>> + ?Sized,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,