Struct futures::future::Shared [−][src]
Future for the shared
method.
Implementations
impl<Fut> Shared<Fut> where
Fut: Future,
<Fut as Future>::Output: Clone,
[src][−]
Fut: Future,
<Fut as Future>::Output: Clone,
pub fn peek(&self) -> Option<&<Fut as Future>::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> Debug for Shared<Fut> where
Fut: Future,
[src][+]
Fut: Future,
impl<Fut> Drop for Shared<Fut> where
Fut: Future,
[src][+]
Fut: Future,
impl<Fut> FusedFuture for Shared<Fut> where
Fut: Future,
<Fut as Future>::Output: Clone,
[src][+]
Fut: Future,
<Fut as Future>::Output: Clone,
impl<Fut> Future for Shared<Fut> where
Fut: Future,
<Fut as Future>::Output: Clone,
[src][+]
Fut: Future,
<Fut as Future>::Output: Clone,
impl<Fut> Unpin for Shared<Fut> where
Fut: Future,
[src]
Fut: Future,
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> FutureExt for T where
T: Future + ?Sized,
[src][+]
T: Future + ?Sized,
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<Fut> TryFutureExt for Fut where
Fut: TryFuture + ?Sized,
[src][+]
Fut: TryFuture + ?Sized,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,