mirror of
https://github.com/evennia/evennia.git
synced 2026-04-18 14:19:05 +02:00
Spinning off sessid generation to make overloading easier.
This commit is contained in:
parent
770d2e6b43
commit
8d8d6cd8ca
1 changed files with 13 additions and 2 deletions
|
|
@ -70,6 +70,18 @@ class PortalSessionHandler(SessionHandler):
|
||||||
"""
|
"""
|
||||||
self.connection_time = time.time()
|
self.connection_time = time.time()
|
||||||
|
|
||||||
|
def generate_sessid(self):
|
||||||
|
"""
|
||||||
|
Simply generates a sessid that's guaranteed to be unique for this Portal run.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
sessid
|
||||||
|
"""
|
||||||
|
self.latest_sessid += 1
|
||||||
|
if self.latest_sessid in self:
|
||||||
|
return self.generate_sessid()
|
||||||
|
return self.latest_sessid
|
||||||
|
|
||||||
def connect(self, session):
|
def connect(self, session):
|
||||||
"""
|
"""
|
||||||
Called by protocol at first connect. This adds a not-yet
|
Called by protocol at first connect. This adds a not-yet
|
||||||
|
|
@ -93,8 +105,7 @@ class PortalSessionHandler(SessionHandler):
|
||||||
if not session.sessid:
|
if not session.sessid:
|
||||||
# if the session already has a sessid (e.g. being inherited in the
|
# if the session already has a sessid (e.g. being inherited in the
|
||||||
# case of a webclient auto-reconnect), keep it
|
# case of a webclient auto-reconnect), keep it
|
||||||
self.latest_sessid += 1
|
session.sessid = self.generate_sessid()
|
||||||
session.sessid = self.latest_sessid
|
|
||||||
session.server_connected = False
|
session.server_connected = False
|
||||||
_CONNECTION_QUEUE.appendleft(session)
|
_CONNECTION_QUEUE.appendleft(session)
|
||||||
if len(_CONNECTION_QUEUE) > 1:
|
if len(_CONNECTION_QUEUE) > 1:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue