mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-01 01:07:51 -04:00
verbose disconnect reasons
This commit is contained in:
parent
b4ed038469
commit
350369ae57
@ -41,6 +41,9 @@ class ClientRepository(DirectObject.DirectObject):
|
||||
# is weak.
|
||||
self.connectHttp = base.config.GetBool('connect-http', 1)
|
||||
|
||||
self.bootedIndex = None
|
||||
self.bootedText = None
|
||||
|
||||
self.tcpConn = None
|
||||
return None
|
||||
|
||||
@ -75,7 +78,8 @@ class ClientRepository(DirectObject.DirectObject):
|
||||
the return status code giving reason for failure, if it is
|
||||
known.
|
||||
"""
|
||||
|
||||
self.bootedIndex = None
|
||||
self.bootedText = None
|
||||
if self.connectHttp:
|
||||
ch = self.http.makeChannel(0)
|
||||
ch.beginConnectTo(serverURL)
|
||||
@ -488,24 +492,43 @@ class ClientRepository(DirectObject.DirectObject):
|
||||
"Asked to update non-existent DistObj " + str(doId))
|
||||
return None
|
||||
|
||||
def handleGoGetLost(self, di):
|
||||
# The server told us it's about to drop the connection on us.
|
||||
# Get ready!
|
||||
if (di.getRemainingSize() > 0):
|
||||
self.bootedIndex = di.getUint16()
|
||||
self.bootedText = di.getString()
|
||||
|
||||
ClientRepository.notify.warning(
|
||||
"Server is booting us out (%d): %s" % (self.bootedIndex, self.bootedText))
|
||||
else:
|
||||
self.bootedIndex = None
|
||||
self.bootedText = None
|
||||
ClientRepository.notify.warning(
|
||||
"Server is booting us out with no explanation.")
|
||||
|
||||
|
||||
def handleUnexpectedMsgType(self, msgType, di):
|
||||
currentLoginState = self.loginFSM.getCurrentState()
|
||||
if currentLoginState:
|
||||
currentLoginStateName = currentLoginState.getName()
|
||||
if msgType == CLIENT_GO_GET_LOST:
|
||||
self.handleGoGetLost(di)
|
||||
else:
|
||||
currentLoginStateName = "None"
|
||||
currentGameState = self.gameFSM.getCurrentState()
|
||||
if currentGameState:
|
||||
currentGameStateName = currentGameState.getName()
|
||||
else:
|
||||
currentGameStateName = "None"
|
||||
ClientRepository.notify.warning(
|
||||
"Ignoring unexpected message type: " +
|
||||
str(msgType) +
|
||||
" login state: " +
|
||||
currentLoginStateName +
|
||||
" game state: " +
|
||||
currentGameStateName)
|
||||
currentLoginState = self.loginFSM.getCurrentState()
|
||||
if currentLoginState:
|
||||
currentLoginStateName = currentLoginState.getName()
|
||||
else:
|
||||
currentLoginStateName = "None"
|
||||
currentGameState = self.gameFSM.getCurrentState()
|
||||
if currentGameState:
|
||||
currentGameStateName = currentGameState.getName()
|
||||
else:
|
||||
currentGameStateName = "None"
|
||||
ClientRepository.notify.warning(
|
||||
"Ignoring unexpected message type: " +
|
||||
str(msgType) +
|
||||
" login state: " +
|
||||
currentLoginStateName +
|
||||
" game state: " +
|
||||
currentGameStateName)
|
||||
return None
|
||||
|
||||
def sendSetShardMsg(self, shardId):
|
||||
|
@ -1,5 +1,8 @@
|
||||
"""MsgTypes module: contains distributed object message types"""
|
||||
|
||||
# Sent by the server when it is dropping the connection deliberately.
|
||||
CLIENT_GO_GET_LOST = 4
|
||||
|
||||
CLIENT_OBJECT_UPDATE_FIELD = 24
|
||||
CLIENT_OBJECT_UPDATE_FIELD_RESP = 24
|
||||
CLIENT_OBJECT_DISABLE_RESP = 25
|
||||
|
Loading…
x
Reference in New Issue
Block a user