code: def accept(self, timeout=None):
          
          self.lock.acquire()
          try:
              if len(self.server_accepts) > 0:
                  chan = self.server_accepts.pop(0)
              else:
                  self.server_accept_cv.wait(timeout)
                  if len(self.server_accepts) > 0:
                      chan = self.server_accepts.pop(0)
                  else:
                      # timeout
                      chan = None
          finally:
              self.lock.release()
          return chan
docs: Return the next channel opened by the client over this transport, in
          server mode.  If no channel is opened before the given timeout,
          ``None`` is returned.
  
          :param int timeout:
              seconds to wait for a channel, or ``None`` to wait forever
          :return: a new `.Channel` opened by the client