code: def wait(self, *, block=True, timeout=None):
          
          cleared = not self.backend.decr(self.key, 1, 1, self.ttl)
          if cleared:
              self.backend.wait_notify(self.key_events, self.ttl)
              return True
  
          if block:
              return self.backend.wait(self.key_events, timeout)
  
          return False
docs: Signal that a party has reached the barrier.
  
          Warning:
            Barrier blocking is currently only supported by the stub and
            Redis backends.
  
          Warning:
            Re-using keys between blocking calls may lead to undefined
            behaviour.  Make sure your barrier keys are always unique
            (use a UUID).
  
          Parameters:
            block(bool): Whether or not to block while waiting for the
              other parties.
            timeout(int): The maximum number of milliseconds to wait for
              the barrier to be cleared.
  
          Returns:
            bool: Whether or not the barrier has been reached by all parties.