'Start serving a WSGI application.
:returns: None'

def start(self):

    dup_socket = self._socket.dup()
    dup_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    dup_socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
    if hasattr(socket, 'TCP_KEEPIDLE'):
        dup_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, CONF.wsgi.tcp_keepidle)
    if self._use_ssl:
        try:
            ca_file = CONF.wsgi.ssl_ca_file
            cert_file = CONF.wsgi.ssl_cert_file
            key_file = CONF.wsgi.ssl_key_file
            if (cert_file and (not os.path.exists(cert_file))):
                raise RuntimeError((_('Unable    to    find    cert_file    :    %s') % cert_file))
            if (ca_file and (not os.path.exists(ca_file))):
                raise RuntimeError((_('Unable    to    find    ca_file    :    %s') % ca_file))
            if (key_file and (not os.path.exists(key_file))):
                raise RuntimeError((_('Unable    to    find    key_file    :    %s') % key_file))
            if (self._use_ssl and ((not cert_file) or (not key_file))):
                raise RuntimeError(_('When    running    server    in    SSL    mode,    you    must    specify    both    a    cert_file    and    key_file    option    value    in    your    configuration    file'))
            ssl_kwargs = {'server_side': True, 'certfile': cert_file, 'keyfile': key_file, 'cert_reqs': ssl.CERT_NONE}
            if CONF.wsgi.ssl_ca_file:
                ssl_kwargs['ca_certs'] = ca_file
                ssl_kwargs['cert_reqs'] = ssl.CERT_REQUIRED
            dup_socket = eventlet.wrap_ssl(dup_socket, **ssl_kwargs)
        except Exception:
            with excutils.save_and_reraise_exception():
                LOG.error(_LE('Failed    to    start    %(name)s    on    %(host)s:%(port)s    with    SSL    support'), {'name': self.name, 'host': self.host, 'port': self.port})
    wsgi_kwargs = {'func': eventlet.wsgi.server, 'sock': dup_socket, 'site': self.app, 'protocol': self._protocol, 'custom_pool': self._pool, 'log': self._logger, 'log_format': CONF.wsgi.wsgi_log_format, 'debug': False, 'keepalive': CONF.wsgi.keep_alive, 'socket_timeout': self.client_socket_timeout}
    if self._max_url_len:
        wsgi_kwargs['url_length_limit'] = self._max_url_len
    self._server = utils.spawn(**wsgi_kwargs)
