docs: def _serve_clients(self):
          '''
          Accept cients and serve, one separate thread per client.
          '''
          self.__up = True
          while self.__up:
              log.debug('Waiting for a client to connect')
              try:
                  conn, addr = self.skt.accept()
                  log.debug('Received connection from %s:%d', addr[0], addr[1])
              except socket.error as error:
                  if not self.__up:
                      return
                  msg = 'Received listener socket error: {}'.format(error)
                  log.error(msg, exc_info=True)
                  raise ListenerException(msg)
              client_thread = threading.Thread(target=self._client_connection, args=(conn, addr,))
              client_thread.start()