pub struct GeneratorFuture<'a, G, ID, T, S>{ /* private fields */ }Expand description
A future that polls a SnowflakeGenerator until it is ready to
produce an ID.
This future handles Pending responses by sleeping for a recommended
amount of time before polling the generator again.
Implementations§
Source§impl<'a, G, ID, T, S> GeneratorFuture<'a, G, ID, T, S>
impl<'a, G, ID, T, S> GeneratorFuture<'a, G, ID, T, S>
Sourcepub fn new(generator: &'a G) -> Self
pub fn new(generator: &'a G) -> Self
Constructs a new GeneratorFuture from a given generator.
This does not immediately begin polling the generator; instead, it will
attempt to produce an ID when .poll() is called.
Trait Implementations§
Source§impl<'a, G, ID, T, S> Future for GeneratorFuture<'a, G, ID, T, S>
impl<'a, G, ID, T, S> Future for GeneratorFuture<'a, G, ID, T, S>
impl<'__pin, 'a, G, ID, T, S> Unpin for GeneratorFuture<'a, G, ID, T, S>where
PinnedFieldsOf<__Origin<'__pin, 'a, G, ID, T, S>>: Unpin,
G: SnowflakeGenerator<ID, T>,
ID: Snowflake,
T: TimeSource<ID::Ty>,
S: SleepProvider,
Auto Trait Implementations§
impl<'a, G, ID, T, S> Freeze for GeneratorFuture<'a, G, ID, T, S>
impl<'a, G, ID, T, S> RefUnwindSafe for GeneratorFuture<'a, G, ID, T, S>where
G: RefUnwindSafe,
<S as SleepProvider>::Sleep: RefUnwindSafe,
ID: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, G, ID, T, S> Send for GeneratorFuture<'a, G, ID, T, S>
impl<'a, G, ID, T, S> Sync for GeneratorFuture<'a, G, ID, T, S>
impl<'a, G, ID, T, S> UnwindSafe for GeneratorFuture<'a, G, ID, T, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<F> FutureExt for F
impl<F> FutureExt for F
Source§fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
Catches panics while polling the future. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more