adding pattern for during timeout to put into error state

This commit is contained in:
Wayne Chen 2018-09-11 18:52:28 -07:00
parent a7321f950a
commit 30e9d57026
4 changed files with 8 additions and 6 deletions

View file

@ -33,16 +33,17 @@ void ConnectionMonitor::init() {
connect(&domainHandler, &DomainHandler::connectedToDomain, this, &ConnectionMonitor::stopTimer); connect(&domainHandler, &DomainHandler::connectedToDomain, this, &ConnectionMonitor::stopTimer);
connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &ConnectionMonitor::stopTimer); connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &ConnectionMonitor::stopTimer);
connect(&domainHandler, &DomainHandler::redirectToErrorDomainURL, this, &ConnectionMonitor::stopTimer); connect(&domainHandler, &DomainHandler::redirectToErrorDomainURL, this, &ConnectionMonitor::stopTimer);
connect(this, &ConnectionMonitor::setRedirectErrorState, &domainHandler, &DomainHandler::setRedirectErrorState);
_timer.setSingleShot(true); _timer.setSingleShot(true);
if (!domainHandler.isConnected()) { if (!domainHandler.isConnected()) {
_timer.start(ON_INITIAL_LOAD_REDIRECT_AFTER_DISCONNECTED_FOR_X_MS); _timer.start(ON_INITIAL_LOAD_REDIRECT_AFTER_DISCONNECTED_FOR_X_MS);
} }
connect(&_timer, &QTimer::timeout, this, [domainHandler]() { connect(&_timer, &QTimer::timeout, this, [this]() {
qDebug() << "ConnectionMonitor: Redirecting to 404 error domain"; qDebug() << "ConnectionMonitor: Redirecting to 404 error domain";
// set in a timeout error // set in a timeout error
domainHandler.setErrorRedirectState(REDIRECT_HIFI_ADDRESS, 5); emit setRedirectErrorState(REDIRECT_HIFI_ADDRESS, 5);
}); });
} }

View file

@ -15,6 +15,7 @@
#include <QObject> #include <QObject>
#include <QTimer> #include <QTimer>
class QUrl;
class QString; class QString;
class ConnectionMonitor : public QObject { class ConnectionMonitor : public QObject {
@ -22,6 +23,9 @@ class ConnectionMonitor : public QObject {
public: public:
void init(); void init();
signals:
void setRedirectErrorState(QUrl errorURL, int reasonCode);
private slots: private slots:
void startTimer(); void startTimer();
void stopTimer(); void stopTimer();

View file

@ -27,7 +27,7 @@ public:
void startEntitySequence(); void startEntitySequence();
bool isLoadSequenceComplete() const { return _safeLanding->isLoadSequenceComplete(); } bool isLoadSequenceComplete() const { return _safeLanding->isLoadSequenceComplete(); }
float domainLoadingProgress() { return _safeLanding->loadingProgressPercentage(); } float domainLoadingProgress() const { return _safeLanding->loadingProgressPercentage(); }
signals: signals:
void packetVersionMismatch(); void packetVersionMismatch();

View file

@ -39,9 +39,6 @@ WindowScriptingInterface::WindowScriptingInterface() {
connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, &WindowScriptingInterface::disconnectedFromDomain); connect(&domainHandler, &DomainHandler::disconnectedFromDomain, this, &WindowScriptingInterface::disconnectedFromDomain);
connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &WindowScriptingInterface::domainConnectionRefused); connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &WindowScriptingInterface::domainConnectionRefused);
connect(&domainHandler, &DomainHandler::domainConnectionErrorChanged, this, [this](int reasonCode) {
_lastDomainConnectionError = reasonCode;
});
connect(qApp, &Application::svoImportRequested, [this](const QString& urlString) { connect(qApp, &Application::svoImportRequested, [this](const QString& urlString) {
static const QMetaMethod svoImportRequestedSignal = static const QMetaMethod svoImportRequestedSignal =