wallet2_api: milliseconds resolution for auto-refresh interval

This commit is contained in:
Ilya Kitaev 2016-09-26 22:50:10 +03:00
parent 7b4a85b309
commit 3079c5756b
3 changed files with 13 additions and 13 deletions

View file

@ -46,7 +46,7 @@ namespace Bitmonero {
namespace {
// copy-pasted from simplewallet
static const size_t DEFAULT_MIXIN = 4;
static const int DEFAULT_REFRESH_INTERVAL_SECONDS = 10;
static const int DEFAULT_REFRESH_INTERVAL_MILLIS = 1000 * 10;
}
struct Wallet2CallbackImpl : public tools::i_wallet2_callback
@ -79,7 +79,7 @@ struct Wallet2CallbackImpl : public tools::i_wallet2_callback
if (m_listener) {
m_listener->newBlock(height);
m_listener->updated();
// m_listener->updated();
}
}
@ -174,7 +174,7 @@ WalletImpl::WalletImpl(bool testnet)
m_refreshThreadDone = false;
m_refreshEnabled = false;
m_refreshIntervalSeconds = DEFAULT_REFRESH_INTERVAL_SECONDS;
m_refreshIntervalMillis = DEFAULT_REFRESH_INTERVAL_MILLIS;
m_refreshThread = boost::thread([this] () {
this->refreshThreadFunc();
@ -451,14 +451,14 @@ void WalletImpl::refreshAsync()
m_refreshCV.notify_one();
}
void WalletImpl::setAutoRefreshInterval(int seconds)
void WalletImpl::setAutoRefreshInterval(int millis)
{
m_refreshIntervalSeconds = seconds;
m_refreshIntervalMillis = millis;
}
int WalletImpl::autoRefreshInterval() const
{
return m_refreshIntervalSeconds;
return m_refreshIntervalMillis;
}
// TODO:
@ -675,8 +675,8 @@ void WalletImpl::refreshThreadFunc()
LOG_PRINT_L3(__FUNCTION__ << ": waiting for refresh...");
// if auto refresh enabled, we wait for the "m_refreshIntervalSeconds" interval.
// if not - we wait forever
if (m_refreshIntervalSeconds > 0) {
boost::posix_time::milliseconds wait_for_ms(m_refreshIntervalSeconds * 1000);
if (m_refreshIntervalMillis > 0) {
boost::posix_time::milliseconds wait_for_ms(m_refreshIntervalMillis);
m_refreshCV.timed_wait(lock, wait_for_ms);
} else {
m_refreshCV.wait(lock);

View file

@ -79,7 +79,7 @@ public:
uint64_t daemonBlockChainHeight() const;
bool refresh();
void refreshAsync();
void setAutoRefreshInterval(int seconds);
void setAutoRefreshInterval(int millis);
int autoRefreshInterval() const;
@ -118,7 +118,7 @@ private:
// multi-threaded refresh stuff
std::atomic<bool> m_refreshEnabled;
std::atomic<bool> m_refreshThreadDone;
std::atomic<int> m_refreshIntervalSeconds;
std::atomic<int> m_refreshIntervalMillis;
// synchronizing refresh loop;
boost::mutex m_refreshMutex;

View file

@ -269,12 +269,12 @@ struct Wallet
/**
* @brief setAutoRefreshInterval - setup interval for automatic refresh.
* @param seconds - interval in seconds. if zero or less than zero - automatic refresh disabled;
* @param seconds - interval in millis. if zero or less than zero - automatic refresh disabled;
*/
virtual void setAutoRefreshInterval(int seconds) = 0;
virtual void setAutoRefreshInterval(int millis) = 0;
/**
* @brief autoRefreshInterval - returns automatic refresh interval in seconds
* @brief autoRefreshInterval - returns automatic refresh interval in millis
* @return
*/
virtual int autoRefreshInterval() const = 0;