pub struct ServeHandle { /* private fields */ }Expand description
Control handle for one endpoint serve cycle.
Clones control the same cycle and carry the same internal token. The common server path stores one clone in the endpoint before returning another to an adapter, making adapter registration an idempotent confirmation.
Implementations§
Source§impl ServeHandle
impl ServeHandle
Sourcepub fn shutdown(&self)
pub fn shutdown(&self)
Gracefully stop the serve loop: stop accepting new connections, drain
in-flight requests (up to drain_timeout), then close the remaining
active connections so no request is served after the loop has stopped.
Sourcepub fn shutdown_and_close(&self)
pub fn shutdown_and_close(&self)
Stop the accept loop and force every active connection closed immediately, without waiting for the graceful drain.
Unlike [shutdown], which drains in-flight requests before closing
connections, this severs the connections up front so remote peers must
reconnect right away. Used when a serve loop is being replaced on the
same endpoint (#336).
pub async fn drain(self)
pub fn abort(&self)
pub fn drain_timeout(&self) -> Duration
Sourcepub fn subscribe_done(&self) -> Receiver<bool>
pub fn subscribe_done(&self) -> Receiver<bool>
Subscribe to the serve-loop-done signal.
The returned receiver resolves (changes to true) once the serve task
has fully exited, including the drain phase.
Trait Implementations§
Source§impl Clone for ServeHandle
impl Clone for ServeHandle
Source§fn clone(&self) -> ServeHandle
fn clone(&self) -> ServeHandle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ServeHandle
impl RefUnwindSafe for ServeHandle
impl Send for ServeHandle
impl Sync for ServeHandle
impl Unpin for ServeHandle
impl UnsafeUnpin for ServeHandle
impl UnwindSafe for ServeHandle
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
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>
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>
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 more