wallet: invalidate node proxy cache when reconnecting
This commit is contained in:
parent
beee286c7b
commit
b5c74e4041
@ -47,6 +47,17 @@ NodeRPCProxy::NodeRPCProxy(epee::net_utils::http::http_simple_client &http_clien
|
||||
, m_dynamic_per_kb_fee_estimate_grace_blocks(0)
|
||||
{}
|
||||
|
||||
void NodeRPCProxy::invalidate()
|
||||
{
|
||||
m_height = 0;
|
||||
m_height_time = 0;
|
||||
for (size_t n = 0; n < 256; ++n)
|
||||
m_earliest_height[n] = 0;
|
||||
m_dynamic_per_kb_fee_estimate = 0;
|
||||
m_dynamic_per_kb_fee_estimate_cached_height = 0;
|
||||
m_dynamic_per_kb_fee_estimate_grace_blocks = 0;
|
||||
}
|
||||
|
||||
boost::optional<std::string> NodeRPCProxy::get_height(uint64_t &height)
|
||||
{
|
||||
const time_t now = time(NULL);
|
||||
|
@ -41,6 +41,8 @@ class NodeRPCProxy
|
||||
public:
|
||||
NodeRPCProxy(epee::net_utils::http::http_simple_client &http_client, boost::mutex &mutex);
|
||||
|
||||
void invalidate();
|
||||
|
||||
boost::optional<std::string> get_height(uint64_t &height);
|
||||
void set_height(uint64_t h);
|
||||
boost::optional<std::string> get_earliest_height(uint8_t version, uint64_t &earliest_height);
|
||||
|
@ -2286,6 +2286,7 @@ bool wallet2::check_connection(uint32_t *version, uint32_t timeout)
|
||||
|
||||
if(!m_http_client.is_connected())
|
||||
{
|
||||
m_node_rpc_proxy.invalidate();
|
||||
if (!m_http_client.connect(std::chrono::milliseconds(timeout)))
|
||||
return false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user