is a callable returning a protocol instance.
if empty then all interfaces are assumed and a list of multiple sockets will be returned (most likely one for IPv4 and another one for IPv6).
service name or port number.
can be set to either $(D_PSYMBOL AddressFamily.INET) or $(D_PSYMBOL AddressFamily.INET6) to force the socket to use IPv4 or IPv6. If not set it will be determined from host (defaults to $(D_PSYMBOL AddressFamily.UNSPEC)).
a bitmask for getAddressInfo().
can optionally be specified in order to use a preexisting socket object.
the maximum number of queued connections passed to listen() (defaults to 100).
can be set to an SSLContext to enable SSL over the accepted connections.
tells the kernel to reuse a local socket in TIME_WAIT state, without waiting for its natural timeout to expire. If not specified will automatically be set to $(D_KEYWORD true) on UNIX.
a Server object which can be used to stop the service.
A coroutine which creates a TCP server bound to host and port.