wallet2_api: milliseconds resolution for auto-refresh interval
This commit is contained in:
parent
7b4a85b309
commit
3079c5756b
|
@ -46,7 +46,7 @@ namespace Bitmonero {
|
||||||
namespace {
|
namespace {
|
||||||
// copy-pasted from simplewallet
|
// copy-pasted from simplewallet
|
||||||
static const size_t DEFAULT_MIXIN = 4;
|
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
|
struct Wallet2CallbackImpl : public tools::i_wallet2_callback
|
||||||
|
@ -79,7 +79,7 @@ struct Wallet2CallbackImpl : public tools::i_wallet2_callback
|
||||||
|
|
||||||
if (m_listener) {
|
if (m_listener) {
|
||||||
m_listener->newBlock(height);
|
m_listener->newBlock(height);
|
||||||
m_listener->updated();
|
// m_listener->updated();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -174,7 +174,7 @@ WalletImpl::WalletImpl(bool testnet)
|
||||||
m_refreshThreadDone = false;
|
m_refreshThreadDone = false;
|
||||||
m_refreshEnabled = false;
|
m_refreshEnabled = false;
|
||||||
|
|
||||||
m_refreshIntervalSeconds = DEFAULT_REFRESH_INTERVAL_SECONDS;
|
m_refreshIntervalMillis = DEFAULT_REFRESH_INTERVAL_MILLIS;
|
||||||
|
|
||||||
m_refreshThread = boost::thread([this] () {
|
m_refreshThread = boost::thread([this] () {
|
||||||
this->refreshThreadFunc();
|
this->refreshThreadFunc();
|
||||||
|
@ -451,14 +451,14 @@ void WalletImpl::refreshAsync()
|
||||||
m_refreshCV.notify_one();
|
m_refreshCV.notify_one();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WalletImpl::setAutoRefreshInterval(int seconds)
|
void WalletImpl::setAutoRefreshInterval(int millis)
|
||||||
{
|
{
|
||||||
m_refreshIntervalSeconds = seconds;
|
m_refreshIntervalMillis = millis;
|
||||||
}
|
}
|
||||||
|
|
||||||
int WalletImpl::autoRefreshInterval() const
|
int WalletImpl::autoRefreshInterval() const
|
||||||
{
|
{
|
||||||
return m_refreshIntervalSeconds;
|
return m_refreshIntervalMillis;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
|
@ -675,8 +675,8 @@ void WalletImpl::refreshThreadFunc()
|
||||||
LOG_PRINT_L3(__FUNCTION__ << ": waiting for refresh...");
|
LOG_PRINT_L3(__FUNCTION__ << ": waiting for refresh...");
|
||||||
// if auto refresh enabled, we wait for the "m_refreshIntervalSeconds" interval.
|
// if auto refresh enabled, we wait for the "m_refreshIntervalSeconds" interval.
|
||||||
// if not - we wait forever
|
// if not - we wait forever
|
||||||
if (m_refreshIntervalSeconds > 0) {
|
if (m_refreshIntervalMillis > 0) {
|
||||||
boost::posix_time::milliseconds wait_for_ms(m_refreshIntervalSeconds * 1000);
|
boost::posix_time::milliseconds wait_for_ms(m_refreshIntervalMillis);
|
||||||
m_refreshCV.timed_wait(lock, wait_for_ms);
|
m_refreshCV.timed_wait(lock, wait_for_ms);
|
||||||
} else {
|
} else {
|
||||||
m_refreshCV.wait(lock);
|
m_refreshCV.wait(lock);
|
||||||
|
|
|
@ -79,7 +79,7 @@ public:
|
||||||
uint64_t daemonBlockChainHeight() const;
|
uint64_t daemonBlockChainHeight() const;
|
||||||
bool refresh();
|
bool refresh();
|
||||||
void refreshAsync();
|
void refreshAsync();
|
||||||
void setAutoRefreshInterval(int seconds);
|
void setAutoRefreshInterval(int millis);
|
||||||
int autoRefreshInterval() const;
|
int autoRefreshInterval() const;
|
||||||
|
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ private:
|
||||||
// multi-threaded refresh stuff
|
// multi-threaded refresh stuff
|
||||||
std::atomic<bool> m_refreshEnabled;
|
std::atomic<bool> m_refreshEnabled;
|
||||||
std::atomic<bool> m_refreshThreadDone;
|
std::atomic<bool> m_refreshThreadDone;
|
||||||
std::atomic<int> m_refreshIntervalSeconds;
|
std::atomic<int> m_refreshIntervalMillis;
|
||||||
// synchronizing refresh loop;
|
// synchronizing refresh loop;
|
||||||
boost::mutex m_refreshMutex;
|
boost::mutex m_refreshMutex;
|
||||||
|
|
||||||
|
|
|
@ -269,12 +269,12 @@ struct Wallet
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief setAutoRefreshInterval - setup interval for automatic refresh.
|
* @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
|
* @return
|
||||||
*/
|
*/
|
||||||
virtual int autoRefreshInterval() const = 0;
|
virtual int autoRefreshInterval() const = 0;
|
||||||
|
|
Loading…
Reference in New Issue