mirror of
https://github.com/monero-project/monero.git
synced 2024-11-18 00:37:43 +00:00
rpc: print human readable time since received when printing pool
This commit is contained in:
parent
5c9dd23b1c
commit
d662ab5cec
1 changed files with 33 additions and 11 deletions
|
@ -70,6 +70,23 @@ namespace {
|
|||
<< "difficulty: " << boost::lexical_cast<std::string>(header.difficulty) << std::endl
|
||||
<< "reward: " << boost::lexical_cast<std::string>(header.reward);
|
||||
}
|
||||
|
||||
std::string get_human_time_ago(time_t t, time_t now)
|
||||
{
|
||||
if (t == now)
|
||||
return "now";
|
||||
time_t dt = t > now ? t - now : now - t;
|
||||
std::string s;
|
||||
if (dt < 90)
|
||||
s = boost::lexical_cast<std::string>(dt) + " seconds";
|
||||
else if (dt < 90 * 60)
|
||||
s = boost::lexical_cast<std::string>(dt/60) + " minutes";
|
||||
else if (dt < 36 * 3600)
|
||||
s = boost::lexical_cast<std::string>(dt/3600) + " hours";
|
||||
else
|
||||
s = boost::lexical_cast<std::string>(dt/(3600*24)) + " days";
|
||||
return s + " " + (t > now ? "in the future" : "ago");
|
||||
}
|
||||
}
|
||||
|
||||
t_rpc_command_executor::t_rpc_command_executor(
|
||||
|
@ -669,6 +686,7 @@ bool t_rpc_command_executor::print_transaction_pool_long() {
|
|||
}
|
||||
if (! res.transactions.empty())
|
||||
{
|
||||
const time_t now = time(NULL);
|
||||
tools::msg_writer() << "Transactions: ";
|
||||
for (auto & tx_info : res.transactions)
|
||||
{
|
||||
|
@ -676,7 +694,7 @@ bool t_rpc_command_executor::print_transaction_pool_long() {
|
|||
<< tx_info.tx_json << std::endl
|
||||
<< "blob_size: " << tx_info.blob_size << std::endl
|
||||
<< "fee: " << cryptonote::print_money(tx_info.fee) << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl
|
||||
<< "kept_by_block: " << (tx_info.kept_by_block ? 'T' : 'F') << std::endl
|
||||
<< "max_used_block_height: " << tx_info.max_used_block_height << std::endl
|
||||
<< "max_used_block_id: " << tx_info.max_used_block_id_hash << std::endl
|
||||
|
@ -747,17 +765,21 @@ bool t_rpc_command_executor::print_transaction_pool_short() {
|
|||
{
|
||||
tools::msg_writer() << "Pool is empty" << std::endl;
|
||||
}
|
||||
for (auto & tx_info : res.transactions)
|
||||
else
|
||||
{
|
||||
tools::msg_writer() << "id: " << tx_info.id_hash << std::endl
|
||||
<< "blob_size: " << tx_info.blob_size << std::endl
|
||||
<< "fee: " << cryptonote::print_money(tx_info.fee) << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << std::endl
|
||||
<< "kept_by_block: " << (tx_info.kept_by_block ? 'T' : 'F') << std::endl
|
||||
<< "max_used_block_height: " << tx_info.max_used_block_height << std::endl
|
||||
<< "max_used_block_id: " << tx_info.max_used_block_id_hash << std::endl
|
||||
<< "last_failed_height: " << tx_info.last_failed_height << std::endl
|
||||
<< "last_failed_id: " << tx_info.last_failed_id_hash << std::endl;
|
||||
const time_t now = time(NULL);
|
||||
for (auto & tx_info : res.transactions)
|
||||
{
|
||||
tools::msg_writer() << "id: " << tx_info.id_hash << std::endl
|
||||
<< "blob_size: " << tx_info.blob_size << std::endl
|
||||
<< "fee: " << cryptonote::print_money(tx_info.fee) << std::endl
|
||||
<< "receive_time: " << tx_info.receive_time << " (" << get_human_time_ago(tx_info.receive_time, now) << ")" << std::endl
|
||||
<< "kept_by_block: " << (tx_info.kept_by_block ? 'T' : 'F') << std::endl
|
||||
<< "max_used_block_height: " << tx_info.max_used_block_height << std::endl
|
||||
<< "max_used_block_id: " << tx_info.max_used_block_id_hash << std::endl
|
||||
<< "last_failed_height: " << tx_info.last_failed_height << std::endl
|
||||
<< "last_failed_id: " << tx_info.last_failed_id_hash << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue