ServerControlHook

Struct ServerControlHook 

Source
pub struct ServerControlHook { /* private fields */ }
Expand description

Represents the hooks for managing the server’s lifecycle, specifically for waiting and shutting down.

This struct is returned by the run method and provides two key hooks:

  • wait_hook- A future that resolves when the server has stopped accepting new connections.
  • shutdown_hook- A function that can be called to gracefully shut down the server.

Implementations§

Source§

impl ServerControlHook

Manages server lifecycle hooks, including waiting and shutdown procedures.

This struct holds closures that are executed during specific server lifecycle events.

Source

pub async fn wait(&self)

Waits for the server’s shutdown signal or completion.

This method asynchronously waits until the server’s wait_hook is triggered, typically indicating that the server has finished its operations or is ready to shut down.

Source

pub async fn shutdown(&self)

Initiates the server shutdown process.

This method asynchronously calls the shutdown_hook, which is responsible for performing any necessary cleanup or graceful shutdown procedures.

Source§

impl ServerControlHook

Trait Implementations§

Source§

impl Clone for ServerControlHook

Source§

fn clone(&self) -> ServerControlHook

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ServerControlHook

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ServerControlHook

Provides a default implementation for ServerControlHook.

Source§

fn default() -> Self

Creates a new ServerControlHook instance with default no-op hooks.

The default wait_hook and shutdown_hook do nothing, allowing the server to run without specific shutdown or wait logic unless configured otherwise.

§Returns
  • Self - A new ServerControlHook instance with default hooks.
Source§

impl Display for ServerControlHook

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> AnySend for T
where T: Any + Send,

Source§

impl<T> AnySendClone for T
where T: Any + Send + Clone,

Source§

impl<T> AnySendSync for T
where T: Any + Send + Sync,

Source§

impl<T> AnySendSyncClone for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> AnySync for T
where T: Any + Sync,

Source§

impl<T> AnySyncClone for T
where T: Any + Sync + Clone,

Source§

impl<T> ErasedDestructor for T
where T: 'static,