simplewallet: new net_stats command
displays total sent and received bytes
This commit is contained in:
@@ -108,7 +108,9 @@ namespace net_utils
|
||||
m_initialized(true),
|
||||
m_connected(false),
|
||||
m_deadline(m_io_service),
|
||||
m_shutdowned(0)
|
||||
m_shutdowned(0),
|
||||
m_bytes_sent(0),
|
||||
m_bytes_received(0)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -313,6 +315,7 @@ namespace net_utils
|
||||
}else
|
||||
{
|
||||
m_deadline.expires_at(std::chrono::steady_clock::time_point::max());
|
||||
m_bytes_sent += buff.size();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,6 +372,7 @@ namespace net_utils
|
||||
}else
|
||||
{
|
||||
m_deadline.expires_at(std::chrono::steady_clock::time_point::max());
|
||||
m_bytes_sent += sz;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -458,6 +462,7 @@ namespace net_utils
|
||||
/*if(!bytes_transfered)
|
||||
return false;*/
|
||||
|
||||
m_bytes_received += bytes_transfered;
|
||||
buff.assign(local_buff, bytes_transfered);
|
||||
return true;
|
||||
}
|
||||
@@ -526,6 +531,7 @@ namespace net_utils
|
||||
m_deadline.expires_at(std::chrono::steady_clock::time_point::max());
|
||||
}
|
||||
|
||||
m_bytes_received += bytes_transfered;
|
||||
if(bytes_transfered != buff.size())
|
||||
{
|
||||
LOG_ERROR("Transferred mismatch with transfer_at_least value: m_bytes_transferred=" << bytes_transfered << " at_least value=" << buff.size());
|
||||
@@ -581,7 +587,17 @@ namespace net_utils
|
||||
{
|
||||
return m_ssl_socket->next_layer();
|
||||
}
|
||||
|
||||
|
||||
uint64_t get_bytes_sent() const
|
||||
{
|
||||
return m_bytes_sent;
|
||||
}
|
||||
|
||||
uint64_t get_bytes_received() const
|
||||
{
|
||||
return m_bytes_received;
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
void check_deadline()
|
||||
@@ -667,6 +683,8 @@ namespace net_utils
|
||||
bool m_connected;
|
||||
boost::asio::steady_timer m_deadline;
|
||||
volatile uint32_t m_shutdowned;
|
||||
std::atomic<uint64_t> m_bytes_sent;
|
||||
std::atomic<uint64_t> m_bytes_received;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user