Struct salvo::Server[][src]

pub struct Server { /* fields omitted */ }

Implementations

Bind to a socket address, returning a Future that can be executed on any runtime.

Panics

Panics if we are unable to bind to the provided address.

Bind to a socket address, returning a Future that can be executed on any runtime.

In case we are unable to bind to the specified address, resolves to an error and logs the reason.

Create a server with graceful shutdown signal.

When the signal completes, the server will start the graceful shutdown process.

Returns the bound address and a Future that can be executed on any runtime.

Example

use salvo_core::prelude::*;
use tokio::sync::oneshot;

#[fn_handler]
async fn hello_world(res: &mut Response) {
    res.render_plain_text("Hello World!");
}

#[tokio::main]
async fn main() {
    let (tx, rx) = oneshot::channel();
    let router = Router::new().get(hello_world);
    let server = Server::new(router).bind_with_graceful_shutdown(([0, 0, 0, 0], 3131), async {
        rx.await.ok();
    });

    // Spawn the server into a runtime
    tokio::task::spawn(server);

    // Later, start the shutdown...
    let _ = tx.send(());
}

Create a server with graceful shutdown signal.

When the signal completes, the server will start the graceful shutdown process.

Bind to a stream, returning a Future that can be executed on any runtime.

Panics

Panics if we are unable to bind to the provided address.

Run this Server forever on the current thread with a specific stream of incoming connections.

This can be used for Unix Domain Sockets, or TLS, etc.

Setup this Server with a specific stream of incoming connections and a signal to initiate graceful shutdown.

This can be used for Unix Domain Sockets, or TLS, etc.

When the signal completes, the server will start the graceful shutdown process.

Returns a Future that can be executed on any runtime.

Configure a server to use TLS.

This function requires the "tls" feature.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.