diff options
| author | Jacob Brydolf <jacob@brydolf.net> | 2016-11-01 18:14:39 +0100 |
|---|---|---|
| committer | Jacob Brydolf <jacob@brydolf.net> | 2016-11-01 18:14:39 +0100 |
| commit | 80795971fead497a49f1b5ee3c208750be01b554 (patch) | |
| tree | 7a96fc8e8b7a6d13fa75eb5b683d18a1fc691f5b /src/libwalletqt/Wallet.cpp | |
| parent | 6c6b10855f23195cb2b6bd2acd45995947592997 (diff) | |
| download | monzero-gui-80795971fead497a49f1b5ee3c208750be01b554.tar.gz monzero-gui-80795971fead497a49f1b5ee3c208750be01b554.tar.xz monzero-gui-80795971fead497a49f1b5ee3c208750be01b554.zip | |
Cache daemon target height
Diffstat (limited to 'src/libwalletqt/Wallet.cpp')
| -rw-r--r-- | src/libwalletqt/Wallet.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libwalletqt/Wallet.cpp b/src/libwalletqt/Wallet.cpp index 3c8858b5..1272162a 100644 --- a/src/libwalletqt/Wallet.cpp +++ b/src/libwalletqt/Wallet.cpp @@ -12,7 +12,8 @@ #include <QTimer> namespace { - static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 60; + static const int DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS = 10; + static const int DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS = 60; } class WalletListenerImpl : public Bitmonero::WalletListener @@ -169,7 +170,13 @@ quint64 Wallet::daemonBlockChainHeight() const quint64 Wallet::daemonBlockChainTargetHeight() const { - m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight(); + + if (m_daemonBlockChainTargetHeight == 0 + || m_daemonBlockChainTargetHeightTime.elapsed() / 1000 > m_daemonBlockChainTargetHeightTtl) { + m_daemonBlockChainTargetHeight = m_walletImpl->daemonBlockChainTargetHeight(); + m_daemonBlockChainTargetHeightTime.restart(); + } + return m_daemonBlockChainTargetHeight; } @@ -261,6 +268,8 @@ Wallet::Wallet(Bitmonero::Wallet *w, QObject *parent) , m_historyModel(nullptr) , m_daemonBlockChainHeight(0) , m_daemonBlockChainHeightTtl(DAEMON_BLOCKCHAIN_HEIGHT_CACHE_TTL_SECONDS) + , m_daemonBlockChainTargetHeight(0) + , m_daemonBlockChainTargetHeightTtl(DAEMON_BLOCKCHAIN_TARGET_HEIGHT_CACHE_TTL_SECONDS) { m_history = new TransactionHistory(m_walletImpl->history(), this); m_walletImpl->setListener(new WalletListenerImpl(this)); |
