]> Some of my projects - anidbudpclient.git/commitdiff
Add a ConnectionTimedOutError if too many commands time out without a reply.
authorAPTX <marek321@gmail.com>
Sun, 13 Feb 2011 13:46:00 +0000 (14:46 +0100)
committerAPTX <marek321@gmail.com>
Sun, 13 Feb 2011 13:46:00 +0000 (14:46 +0100)
anidbudpclient_global.h
client.cpp

index 1a1446e3627ad843f805105d59d81eb8b6b600e7..7b04f0351f9411b2d039decb3ea9bda8135c65ba 100644 (file)
@@ -29,6 +29,7 @@ namespace AniDBUdpClient
                ClientBannedError,
                ClientVersionOutdatedError,
                ServerError,
+               ConnectionTimedOutError,
                UnknownError,
        };
 
index bd9bcec994700ef1ca8e1cb1bc33c4026e3840dc..e9e6473b1ba83b63c1fcec5978bc2d9f424ba9f3 100644 (file)
@@ -648,6 +648,14 @@ void Client::enterRecieveFailState()
 #ifdef ANIDBUDPCLIENT_CLIENT_STATE_MACHINE_DEBUG
 qDebug() << "Entering RecieveFail State";
 #endif
+       if (commandsTimedOut < 3)
+               return;
+
+       disconnect();
+       m_error = ConnectionTimedOutError;
+       m_errorString = tr("Connection Timed Out");
+       emit connectionError();
+
 }
 
 // -------------------------------------------------------------------------------------