Updated how the automatic timeout closes the session on the portal side. A lot cleaner now.

This commit is contained in:
Griatch 2015-03-06 18:52:29 +01:00
parent 895f8504cd
commit 000f14c028
4 changed files with 4 additions and 17 deletions

View file

@ -196,12 +196,11 @@ CMDLINE_HELP = \
VERSION_INFO = \
"""
{about}
Evennia {version}
OS: {os}
Python: {python}
Twisted: {twisted}
Django: {django}
Django: {django}{about}
"""
ABOUT_INFO= \

View file

@ -122,14 +122,9 @@ class PortalSessionHandler(SessionHandler):
from the portal side.
"""
sessid = session.sessid
if sessid in self.sessions:
del self.sessions[sessid]
del session
# tell server to also delete this session
self.portal.amp_protocol.call_remote_ServerAdmin(sessid,
operation=PDISCONN)
def server_connect(self, protocol_path="", config=dict()):
"""
Called by server to force the initialization of a new

View file

@ -65,8 +65,8 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
delay(2, callback=self.handshake_done, retval=True)
# set up a keep-alive
self.keep_alive = LoopingCall(self._write, IAC + NOP, now=False)
self.keep_alive.start(30)
self.keep_alive = LoopingCall(self._write, IAC + NOP)
self.keep_alive.start(30, now=False)
def handshake_done(self, force=False):

View file

@ -185,14 +185,7 @@ class ServerSessionHandler(SessionHandler):
session = self.sessions.get(sessid, None)
if not session:
return
player = session.player
if player:
nsess = len(self.sessions_from_player(player)) - 1
remaintext = nsess and "%i session%s remaining" % (nsess, nsess > 1 and "s" or "") or "no more sessions"
session.log(_('Connection dropped: %s %s (%s)' % (session.player, session.address, remaintext)))
session.at_disconnect()
session.disconnect()
del self.sessions[session.sessid]
self.disconnect(session)
def portal_sessions_sync(self, portalsessions):
"""