From fb4eb05ae199dfdfb3ec379b5d273202597190d1 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 13 Aug 2008 21:45:17 +0000 Subject: * minor: make it clear on the console when a client is being logged out because that client has not responded to pings --- .../Region/ClientStack/LindenUDP/LLClientView.cs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index c58b24b..12e5452 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -637,9 +637,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP # endregion protected int m_terrainCheckerCount = 0; + /// /// Event handler for check client timer - /// checks to ensure that the client is still connected + /// Checks to ensure that the client is still connected. If the client has failed to respond to many pings + /// in succession then close down the connection. /// /// /// @@ -648,11 +650,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP if (m_PacketHandler.PacketsReceived == m_PacketHandler.PacketsReceivedReported) { m_probesWithNoIngressPackets++; - if ((m_probesWithNoIngressPackets > 30 && !m_clientBlocked) || (m_probesWithNoIngressPackets > 90 && m_clientBlocked)) + if ((m_probesWithNoIngressPackets > 30 && !m_clientBlocked) + || (m_probesWithNoIngressPackets > 90 && m_clientBlocked)) { - if (OnConnectionClosed != null) { + m_log.WarnFormat( + "[CLIENT]: Client for agent {0} {1} has stopped responding to pings. Closing connection", + Name, AgentId); + OnConnectionClosed(this); } } @@ -682,6 +688,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP // Establish our two timers. We could probably get this down to one + // Ping the client regularly to check that it's still there m_clientPingTimer = new Timer(5000); m_clientPingTimer.Elapsed += new ElapsedEventHandler(CheckClientConnectivity); m_clientPingTimer.Enabled = true; @@ -3402,12 +3409,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// /// /// - /// - /// A - /// - /// - /// A - /// + /// + /// protected virtual bool Logout(IClientAPI client) { m_log.Info("[CLIENT]: Got a logout request"); -- cgit v1.1