pub struct PrewarmedDatabasePool { /* private fields */ }Expand description
Opt-in bounded queue of never-used disposable databases cloned from one template.
Implementations§
Source§impl PrewarmedDatabasePool
impl PrewarmedDatabasePool
Sourcepub fn status(&self) -> PrewarmPoolStatus
pub fn status(&self) -> PrewarmPoolStatus
Returns a point-in-time view of the bounded queue state.
Sourcepub async fn database(&self) -> Result<DatabaseLease>
pub async fn database(&self) -> Result<DatabaseLease>
Leases one never-used database from the ready queue.
A ready token is reserved before downstream application capacity. If application admission or this pool is closed, or if this future is cancelled, the token is returned and the idle database remains in the queue until pool cleanup consumes it.
Sourcepub async fn shutdown(self) -> Result<()>
pub async fn shutdown(self) -> Result<()>
Closes this queue, drops all idle databases, and waits for lifecycle work accepted before the resulting server-scoped cleanup barrier.
Leases still owned by callers are not revoked. They remain responsible for their own cleanup and will not trigger a refill after this call.
Trait Implementations§
Source§impl Clone for PrewarmedDatabasePool
impl Clone for PrewarmedDatabasePool
Source§impl Debug for PrewarmedDatabasePool
impl Debug for PrewarmedDatabasePool
Source§impl Drop for PrewarmedDatabasePool
impl Drop for PrewarmedDatabasePool
Auto Trait Implementations§
impl Freeze for PrewarmedDatabasePool
impl RefUnwindSafe for PrewarmedDatabasePool
impl Send for PrewarmedDatabasePool
impl Sync for PrewarmedDatabasePool
impl Unpin for PrewarmedDatabasePool
impl UnsafeUnpin for PrewarmedDatabasePool
impl UnwindSafe for PrewarmedDatabasePool
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request