mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-10-01 08:25:44 -04:00
Merge pull request #651 from matrix-org/markjh/unused_II
Remove dead code left over from presence changes
This commit is contained in:
commit
2ec3460967
@ -18,7 +18,6 @@ from twisted.internet import defer
|
|||||||
from synapse.util.logutils import log_function
|
from synapse.util.logutils import log_function
|
||||||
from synapse.types import UserID
|
from synapse.types import UserID
|
||||||
from synapse.events.utils import serialize_event
|
from synapse.events.utils import serialize_event
|
||||||
from synapse.util.logcontext import preserve_context_over_fn
|
|
||||||
from synapse.api.constants import Membership, EventTypes
|
from synapse.api.constants import Membership, EventTypes
|
||||||
from synapse.events import EventBase
|
from synapse.events import EventBase
|
||||||
|
|
||||||
@ -31,20 +30,6 @@ import random
|
|||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def started_user_eventstream(distributor, user):
|
|
||||||
return preserve_context_over_fn(
|
|
||||||
distributor.fire,
|
|
||||||
"started_user_eventstream", user
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def stopped_user_eventstream(distributor, user):
|
|
||||||
return preserve_context_over_fn(
|
|
||||||
distributor.fire,
|
|
||||||
"stopped_user_eventstream", user
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class EventStreamHandler(BaseHandler):
|
class EventStreamHandler(BaseHandler):
|
||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
@ -63,61 +48,6 @@ class EventStreamHandler(BaseHandler):
|
|||||||
|
|
||||||
self.notifier = hs.get_notifier()
|
self.notifier = hs.get_notifier()
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def started_stream(self, user):
|
|
||||||
"""Tells the presence handler that we have started an eventstream for
|
|
||||||
the user:
|
|
||||||
|
|
||||||
Args:
|
|
||||||
user (User): The user who started a stream.
|
|
||||||
Returns:
|
|
||||||
A deferred that completes once their presence has been updated.
|
|
||||||
"""
|
|
||||||
if user not in self._streams_per_user:
|
|
||||||
# Make sure we set the streams per user to 1 here rather than
|
|
||||||
# setting it to zero and incrementing the value below.
|
|
||||||
# Otherwise this may race with stopped_stream causing the
|
|
||||||
# user to be erased from the map before we have a chance
|
|
||||||
# to increment it.
|
|
||||||
self._streams_per_user[user] = 1
|
|
||||||
if user in self._stop_timer_per_user:
|
|
||||||
try:
|
|
||||||
self.clock.cancel_call_later(
|
|
||||||
self._stop_timer_per_user.pop(user)
|
|
||||||
)
|
|
||||||
except:
|
|
||||||
logger.exception("Failed to cancel event timer")
|
|
||||||
else:
|
|
||||||
yield started_user_eventstream(self.distributor, user)
|
|
||||||
else:
|
|
||||||
self._streams_per_user[user] += 1
|
|
||||||
|
|
||||||
def stopped_stream(self, user):
|
|
||||||
"""If there are no streams for a user this starts a timer that will
|
|
||||||
notify the presence handler that we haven't got an event stream for
|
|
||||||
the user unless the user starts a new stream in 30 seconds.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
user (User): The user who stopped a stream.
|
|
||||||
"""
|
|
||||||
self._streams_per_user[user] -= 1
|
|
||||||
if not self._streams_per_user[user]:
|
|
||||||
del self._streams_per_user[user]
|
|
||||||
|
|
||||||
# 30 seconds of grace to allow the client to reconnect again
|
|
||||||
# before we think they're gone
|
|
||||||
def _later():
|
|
||||||
logger.debug("_later stopped_user_eventstream %s", user)
|
|
||||||
|
|
||||||
self._stop_timer_per_user.pop(user, None)
|
|
||||||
|
|
||||||
return stopped_user_eventstream(self.distributor, user)
|
|
||||||
|
|
||||||
logger.debug("Scheduling _later: for %s", user)
|
|
||||||
self._stop_timer_per_user[user] = (
|
|
||||||
self.clock.call_later(30, _later)
|
|
||||||
)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
@log_function
|
@log_function
|
||||||
def get_stream(self, auth_user_id, pagin_config, timeout=0,
|
def get_stream(self, auth_user_id, pagin_config, timeout=0,
|
||||||
|
@ -73,14 +73,6 @@ FEDERATION_PING_INTERVAL = 25 * 60 * 1000
|
|||||||
assert LAST_ACTIVE_GRANULARITY < IDLE_TIMER
|
assert LAST_ACTIVE_GRANULARITY < IDLE_TIMER
|
||||||
|
|
||||||
|
|
||||||
def user_presence_changed(distributor, user, statuscache):
|
|
||||||
return distributor.fire("user_presence_changed", user, statuscache)
|
|
||||||
|
|
||||||
|
|
||||||
def collect_presencelike_data(distributor, user, content):
|
|
||||||
return distributor.fire("collect_presencelike_data", user, content)
|
|
||||||
|
|
||||||
|
|
||||||
class PresenceHandler(BaseHandler):
|
class PresenceHandler(BaseHandler):
|
||||||
|
|
||||||
def __init__(self, hs):
|
def __init__(self, hs):
|
||||||
|
@ -251,30 +251,6 @@ class RoomMemberStore(SQLBaseStore):
|
|||||||
user_id, membership_list=[Membership.JOIN],
|
user_id, membership_list=[Membership.JOIN],
|
||||||
)
|
)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def user_rooms_intersect(self, user_id_list):
|
|
||||||
""" Checks whether all the users whose IDs are given in a list share a
|
|
||||||
room.
|
|
||||||
|
|
||||||
This is a "hot path" function that's called a lot, e.g. by presence for
|
|
||||||
generating the event stream. As such, it is implemented locally by
|
|
||||||
wrapping logic around heavily-cached database queries.
|
|
||||||
"""
|
|
||||||
if len(user_id_list) < 2:
|
|
||||||
defer.returnValue(True)
|
|
||||||
|
|
||||||
deferreds = [self.get_rooms_for_user(u) for u in user_id_list]
|
|
||||||
|
|
||||||
results = yield defer.DeferredList(deferreds, consumeErrors=True)
|
|
||||||
|
|
||||||
# A list of sets of strings giving room IDs for each user
|
|
||||||
room_id_lists = [set([r.room_id for r in result[1]]) for result in results]
|
|
||||||
|
|
||||||
# There isn't a setintersection(*list_of_sets)
|
|
||||||
ret = len(room_id_lists.pop(0).intersection(*room_id_lists)) > 0
|
|
||||||
|
|
||||||
defer.returnValue(ret)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def forget(self, user_id, room_id):
|
def forget(self, user_id, room_id):
|
||||||
"""Indicate that user_id wishes to discard history for room_id."""
|
"""Indicate that user_id wishes to discard history for room_id."""
|
||||||
|
@ -91,11 +91,6 @@ class RoomMemberStoreTestCase(unittest.TestCase):
|
|||||||
)
|
)
|
||||||
)]
|
)]
|
||||||
)
|
)
|
||||||
self.assertFalse(
|
|
||||||
(yield self.store.user_rooms_intersect(
|
|
||||||
[self.u_alice.to_string(), self.u_bob.to_string()]
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_two_members(self):
|
def test_two_members(self):
|
||||||
@ -108,11 +103,6 @@ class RoomMemberStoreTestCase(unittest.TestCase):
|
|||||||
yield self.store.get_room_members(self.room.to_string())
|
yield self.store.get_room_members(self.room.to_string())
|
||||||
)}
|
)}
|
||||||
)
|
)
|
||||||
self.assertTrue((
|
|
||||||
yield self.store.user_rooms_intersect([
|
|
||||||
self.u_alice.to_string(), self.u_bob.to_string()
|
|
||||||
])
|
|
||||||
))
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def test_room_hosts(self):
|
def test_room_hosts(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user