def __init__(self, hs): super(MessageHandler, self).__init__(hs) self.hs = hs self.state = hs.get_state_handler() self.clock = hs.get_clock() self.validator = EventValidator() self.pagination_lock = ReadWriteLock()
def __init__(self, hs): super(MessageHandler, self).__init__(hs) self.hs = hs self.state = hs.get_state_handler() self.clock = hs.get_clock() self.pagination_lock = ReadWriteLock() self._purges_in_progress_by_room = set() # map from purge id to PurgeStatus self._purges_by_id = {}
def __init__(self, hs): self.hs = hs self.auth = hs.get_auth() self.store = hs.get_datastore() self.clock = hs.get_clock() self.pagination_lock = ReadWriteLock() self._purges_in_progress_by_room = set() # map from purge id to PurgeStatus self._purges_by_id = {}
def __init__(self, hs): super(MessageHandler, self).__init__(hs) self.hs = hs self.state = hs.get_state_handler() self.clock = hs.get_clock() self.validator = EventValidator() self.pagination_lock = ReadWriteLock() # We arbitrarily limit concurrent event creation for a room to 5. # This is to stop us from diverging history *too* much. self.limiter = Limiter(max_count=5)
def test_rwlock(self): rwlock = ReadWriteLock() key = object() ds = [ rwlock.read(key), # 0 rwlock.read(key), # 1 rwlock.write(key), # 2 rwlock.write(key), # 3 rwlock.read(key), # 4 rwlock.read(key), # 5 rwlock.write(key), # 6 ] self._assert_called_before_not_after(ds, 2) with ds[0].result: self._assert_called_before_not_after(ds, 2) self._assert_called_before_not_after(ds, 2) with ds[1].result: self._assert_called_before_not_after(ds, 2) self._assert_called_before_not_after(ds, 3) with ds[2].result: self._assert_called_before_not_after(ds, 3) self._assert_called_before_not_after(ds, 4) with ds[3].result: self._assert_called_before_not_after(ds, 4) self._assert_called_before_not_after(ds, 6) with ds[5].result: self._assert_called_before_not_after(ds, 6) self._assert_called_before_not_after(ds, 6) with ds[4].result: self._assert_called_before_not_after(ds, 6) self._assert_called_before_not_after(ds, 7) with ds[6].result: pass d = rwlock.write(key) self.assertTrue(d.called) with d.result: pass d = rwlock.read(key) self.assertTrue(d.called) with d.result: pass