Batch delayed flushes to improve performance on macOS

This commit is contained in:
Cameron Gutman
2023-10-01 15:26:28 -05:00
parent 18130fd8de
commit aa74e6930b
2 changed files with 42 additions and 20 deletions

View File

@@ -249,7 +249,7 @@ private slots:
void handleMdnsServiceResolved(MdnsPendingComputer* computer, QVector<QHostAddress>& addresses);
private:
void saveHosts();
void saveHosts(bool immediate);
QHostAddress getBestGlobalAddressV6(QVector<QHostAddress>& addresses);
@@ -266,5 +266,10 @@ private:
DelayedFlushThread* m_DelayedFlushThread;
QMutex m_DelayedFlushMutex;
QWaitCondition m_DelayedFlushCondition;
bool m_NeedsDelayedFlush;
QWaitCondition m_ImmediateFlushCondition;
enum class FlushType {
None,
Delayed,
Immediate
} m_NeedsFlush;
};