Skip to main content

RunningServer

Struct RunningServer 

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

A server that is serving.

Implementations§

Source§

impl RunningServer

Source

pub fn addr(&self) -> SocketAddr

The address it is serving on.

Source

pub fn base_url(&self) -> String

Where to point the WebView.

Source

pub async fn wait_until_ready(&self) -> Result<(), NativeError>

Prove the port answers before anything is told to go there.

Not strictly required — see the module note on binding before serving — but a host that would rather check than reason gets a check, and one that finds this failing has a real problem to report rather than a blank window.

Source

pub async fn shutdown(self, grace: Duration) -> Result<(), NativeError>

Stop accepting, let open work finish, and end.

The host must first signal its application’s framework shutdown broadcast, which closes long-lived responses such as the dev event stream and WebSockets. This method then tells Axum to stop accepting and waits for what is left. Keeping the framework signal in the host makes it use the application’s Rahti version rather than a second copy linked by this platform-neutral crate.

grace bounds that wait. Whatever is still open when it expires is abandoned, because a window the user closed must not leave a process behind.

Trait Implementations§

Source§

impl Drop for RunningServer

Source§

fn drop(&mut self)

A host that drops this without calling shutdown still stops the server.

Which is the Android case: the operating system can destroy the process without giving anything a chance to run a shutdown, and a serve task that outlived its handle would keep a socket open into the next launch.

Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more