Struct warp::Server[][src]

pub struct Server<S> { /* fields omitted */ }

A Warp Server ready to filter requests.

Methods

impl<S> Server<S> where
    S: IntoWarpService + 'static,
    <<S::Service as WarpService>::Reply as Future>::Item: Reply + Send,
    <<S::Service as WarpService>::Reply as Future>::Error: Reject + Send
[src]

Run this Server forever on the current thread.

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.

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

Bind to a possibly ephemeral socket address.

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

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

extern crate futures;
extern crate warp;

use futures::sync::oneshot;
use warp::Filter;

let routes = warp::any()
    .map(|| "Hello, World!");

let (tx, rx) = oneshot::channel();

let (addr, server) = warp::serve(routes)
    .bind_with_graceful_shutdown(([127, 0, 0, 1], 3030), rx);

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

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

Setup this Server with a specific stream of incoming connections.

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

Returns a Future that can be executed on any runtime.

Trait Implementations

impl<S: Debug> Debug for Server<S>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<S> Send for Server<S> where
    S: Send

impl<S> Sync for Server<S> where
    S: Sync