Handled performance issues and bugs noticed during testing of refs #319 / refs #322

* discussion: https://dev.vatsim-germany.org/boards/22/topics/2027?r=2040#message-2040
* fixed bug with ATC station component, wrong signals for booked stations
* booked stations loading to frequently (for each minor change such as online), changed to timestamp based concept
* update booked stations with receiving ATIS/voiceroom to online
* CDigestSignal class: new class and methods for collecting signals, avoiding too many signals - one of the cures for the performance issues
* fixed bug found during testing, missing start for timers when connecting to network
This commit is contained in:
Klaus Basan
2014-08-31 15:54:19 +02:00
parent 538cee89b2
commit fc84673bb9
12 changed files with 209 additions and 63 deletions

View File

@@ -68,32 +68,33 @@ namespace BlackGui
private slots:
//! Request new ATIS
void requestAtis();
void ps_requestAtis();
//! Online ATC station selected
void onlineAtcStationSelected(QModelIndex index);
void ps_onlineAtcStationSelected(QModelIndex index);
//! Tab changed
void atcStationsTabChanged();
void ps_atcStationsTabChanged();
//! Booked stations
void reloadAtcStationsBooked();
//! Booked stations reloading
void ps_reloadAtcStationsBooked();
//! Booked stations changed
void changedAtcStationsBooked();
void ps_changedAtcStationsBooked();
//! Online stations changed
void changedAtcStationsOnline();
void ps_changedAtcStationsOnline();
//! Connection status has been changed
void connectionStatusChanged(uint from, uint to, const QString &message);
void ps_connectionStatusChanged(uint from, uint to, const QString &message);
private:
Ui::CAtcStationComponent *ui;
CTimerBasedComponent *m_timerComponent;
QDateTime m_timestampLastReadOnlineStations;
QDateTime m_timestampOnlineStationsChanged;
QDateTime m_timestampLastReadBookedStations;
QDateTime m_timestampLastReadOnlineStations = CTimerBasedComponent::epoch(); //!< stations read
QDateTime m_timestampOnlineStationsChanged = CTimerBasedComponent::epoch(); //!< stations marked as changed
QDateTime m_timestampLastReadBookedStations = CTimerBasedComponent::epoch(); //!< stations read
QDateTime m_timestampBookedStationsChanged = CTimerBasedComponent::epoch(); //!< stations marked as changed
};
}
}