Struct tokio_uds_proto::UnixServer [] [src]

pub struct UnixServer<Kind, P> { /* fields omitted */ }

A builder for Unix Socket servers.

Setting up a server needs, at minimum:

  • A server protocol implementation
  • An path
  • A service to provide

In addition to those basics, the builder provides some additional configuration, which is expected to grow over time.

See the crate docs for an example.

Methods

impl<Kind, P> UnixServer<Kind, P> where P: BindServer<Kind, UnixStream> + Send + Sync + 'static
[src]

Starts building a server for the given protocol and path, with default configuration.

Generally, a protocol is implemented not by implementing the BindServer trait directly, but instead by implementing one of the protocol traits:

  • tokio_proto::pipeline::ServerProto
  • tokio_proto::multiplex::ServerProto
  • tokio_proto::streaming::pipeline::ServerProto
  • tokio_proto::streaming::multiplex::ServerProto

See the crate documentation for more details on those traits.

Set the path for the server.

Start up the server, providing the given service on it.

This method will block the current thread until the server is shut down.

Start up the server, providing the given service on it, and providing access to the event loop handle.

The new_service argument is a closure that is given an event loop handle, and produces a value implementing NewService. That value is in turn used to make a new service instance for each incoming connection.

This method will block the current thread until the server is shut down.