From d0109390f9f8ce7c891533a40d1119656c10c3ef Mon Sep 17 00:00:00 2001 From: APTX Date: Tue, 24 Jul 2012 22:02:34 +0200 Subject: [PATCH] AniOni should fail requests every now and then --- anioni/anioni.cpp | 16 ++++++++++++++++ anioni/anioni.h | 7 ++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/anioni/anioni.cpp b/anioni/anioni.cpp index b478ab1..e65d877 100644 --- a/anioni/anioni.cpp +++ b/anioni/anioni.cpp @@ -14,6 +14,7 @@ AniOni::AniOni(int argc, char **argv) : runUdpClient = false; runRenameHandler = false; watchDirectories = false; + requestFailTimer = 0; } void AniOni::handleUdpClientError() @@ -59,6 +60,13 @@ void AniOni::handleUdpClientError() } } +void AniOni::failRequests() +{ + log("Clearing failed Requests", QtServiceBase::Information); + LocalMyList::instance()->database()->clearFailedPendingRequests(); + LocalMyList::instance()->database()->clearFailedPendingMyListUpdateRequests(); +} + void AniOni::start() { #if defined(Q_OS_WIN) @@ -116,6 +124,14 @@ void AniOni::start() application()->exit(1); return; } + + if (!requestFailTimer) + requestFailTimer = new QTimer(this); + + requestFailTimer->setSingleShot(false); + requestFailTimer->setInterval(10 * 60 * 1000); + connect(requestFailTimer, SIGNAL(timeout()), this, SLOT(failRequests())); + requestFailTimer->start(); } void AniOni::loadSettings(QSettings &s) diff --git a/anioni/anioni.h b/anioni/anioni.h index d0eaa60..d618209 100644 --- a/anioni/anioni.h +++ b/anioni/anioni.h @@ -4,6 +4,8 @@ #include #include +class QTimer; + class AniOni : public QObject, public QtService { Q_OBJECT @@ -16,7 +18,8 @@ public slots: protected slots: void handleUdpClientError(); - + void failRequests(); + protected: void start(); @@ -27,6 +30,8 @@ private: bool runUdpClient; bool runRenameHandler; bool watchDirectories; + + QTimer *requestFailTimer; }; #endif // ANIONI_H -- 2.52.0