rpc: add a busy_syncing field to get_info
true if and pretty much only if new blocks are being added
This commit is contained in:
parent
54a4071473
commit
a4cdcd9bd0
|
@ -116,6 +116,8 @@ namespace cryptonote
|
||||||
std::string get_peers_overview() const;
|
std::string get_peers_overview() const;
|
||||||
std::pair<uint32_t, uint32_t> get_next_needed_pruning_stripe() const;
|
std::pair<uint32_t, uint32_t> get_next_needed_pruning_stripe() const;
|
||||||
bool needs_new_sync_connections() const;
|
bool needs_new_sync_connections() const;
|
||||||
|
bool is_busy_syncing();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//----------------- commands handlers ----------------------------------------------
|
//----------------- commands handlers ----------------------------------------------
|
||||||
int handle_notify_new_block(int command, NOTIFY_NEW_BLOCK::request& arg, cryptonote_connection_context& context);
|
int handle_notify_new_block(int command, NOTIFY_NEW_BLOCK::request& arg, cryptonote_connection_context& context);
|
||||||
|
|
|
@ -2771,6 +2771,13 @@ skip:
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------
|
||||||
template<class t_core>
|
template<class t_core>
|
||||||
|
bool t_cryptonote_protocol_handler<t_core>::is_busy_syncing()
|
||||||
|
{
|
||||||
|
const boost::unique_lock<boost::mutex> sync{m_sync_lock, boost::try_to_lock};
|
||||||
|
return !sync.owns_lock();
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------
|
||||||
|
template<class t_core>
|
||||||
void t_cryptonote_protocol_handler<t_core>::drop_connection_with_score(cryptonote_connection_context &context, unsigned score, bool flush_all_spans)
|
void t_cryptonote_protocol_handler<t_core>::drop_connection_with_score(cryptonote_connection_context &context, unsigned score, bool flush_all_spans)
|
||||||
{
|
{
|
||||||
LOG_DEBUG_CC(context, "dropping connection id " << context.m_connection_id << " (pruning seed " <<
|
LOG_DEBUG_CC(context, "dropping connection id " << context.m_connection_id << " (pruning seed " <<
|
||||||
|
|
|
@ -498,6 +498,7 @@ namespace cryptonote
|
||||||
res.database_size = round_up(res.database_size, 5ull* 1024 * 1024 * 1024);
|
res.database_size = round_up(res.database_size, 5ull* 1024 * 1024 * 1024);
|
||||||
res.update_available = restricted ? false : m_core.is_update_available();
|
res.update_available = restricted ? false : m_core.is_update_available();
|
||||||
res.version = restricted ? "" : MONERO_VERSION_FULL;
|
res.version = restricted ? "" : MONERO_VERSION_FULL;
|
||||||
|
res.busy_syncing = m_p2p.get_payload_object().is_busy_syncing();
|
||||||
|
|
||||||
res.status = CORE_RPC_STATUS_OK;
|
res.status = CORE_RPC_STATUS_OK;
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -88,7 +88,7 @@ namespace cryptonote
|
||||||
// advance which version they will stop working with
|
// advance which version they will stop working with
|
||||||
// Don't go over 32767 for any of these
|
// Don't go over 32767 for any of these
|
||||||
#define CORE_RPC_VERSION_MAJOR 3
|
#define CORE_RPC_VERSION_MAJOR 3
|
||||||
#define CORE_RPC_VERSION_MINOR 2
|
#define CORE_RPC_VERSION_MINOR 4
|
||||||
#define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
|
#define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
|
||||||
#define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
|
#define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
|
||||||
|
|
||||||
|
@ -684,6 +684,7 @@ namespace cryptonote
|
||||||
bool was_bootstrap_ever_used;
|
bool was_bootstrap_ever_used;
|
||||||
uint64_t database_size;
|
uint64_t database_size;
|
||||||
bool update_available;
|
bool update_available;
|
||||||
|
bool busy_syncing;
|
||||||
std::string version;
|
std::string version;
|
||||||
|
|
||||||
BEGIN_KV_SERIALIZE_MAP()
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
@ -723,6 +724,7 @@ namespace cryptonote
|
||||||
KV_SERIALIZE(was_bootstrap_ever_used)
|
KV_SERIALIZE(was_bootstrap_ever_used)
|
||||||
KV_SERIALIZE(database_size)
|
KV_SERIALIZE(database_size)
|
||||||
KV_SERIALIZE(update_available)
|
KV_SERIALIZE(update_available)
|
||||||
|
KV_SERIALIZE(busy_syncing)
|
||||||
KV_SERIALIZE(version)
|
KV_SERIALIZE(version)
|
||||||
END_KV_SERIALIZE_MAP()
|
END_KV_SERIALIZE_MAP()
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue