'Handle one request at a time until shutdown.
Polls for shutdown every poll_interval seconds. Ignores
self.timeout. If you need to do periodic tasks, do them in
another thread.'

def serve_forever(self, poll_interval=0.5):

    self.__is_shut_down.clear()
    try:
        while (not self.__shutdown_request):
            self.handle_request(poll_interval=poll_interval)
    finally:
        self.__shutdown_request = False
        self.__is_shut_down.set()
