'Binds this server to the given port on the given address.
To start the server, call `start`. If you want to run this server
in a single process, you can call `listen` as a shortcut to the
sequence of `bind` and `start` calls.
Address may be either an IP address or hostname.  If it\'s a hostname,
the server will listen on all IP addresses associated with the
name.  Address may be an empty string or None to listen on all
available interfaces.  Family may be set to either `socket.AF_INET`
or `socket.AF_INET6` to restrict to IPv4 or IPv6 addresses, otherwise
both will be used if available.
The ``backlog`` argument has the same meaning as for
`socket.listen <socket.socket.listen>`.
This method may be called multiple times prior to `start` to listen
on multiple ports or interfaces.'

def bind(self, port, address=None, family=socket.AF_UNSPEC, backlog=128):

    sockets = bind_sockets(port, address=address, family=family, backlog=backlog)
    if self._started:
        self.add_sockets(sockets)
    else:
        self._pending_sockets.extend(sockets)
