Fixed statistics count.

This commit is contained in:
Nicolás Ortega Froysa 2017-11-10 16:26:34 +01:00
parent fc94e08e31
commit 64fbe3ec9c
No known key found for this signature in database
GPG Key ID: FEC70E3BAE2E69BF
3 changed files with 27 additions and 16 deletions

View File

@ -61,7 +61,14 @@ int main(int argc, char *argv[]) {
if(strcmp(in, "/exit") == 0 || strcmp(in, "/quit") == 0) if(strcmp(in, "/exit") == 0 || strcmp(in, "/quit") == 0)
run = 0; run = 0;
else if(strcmp(in, "/stats") == 0) else if(strcmp(in, "/stats") == 0)
printf("%s", NeoComm_get_node_stats()); {
struct stats statistics = NeoComm_get_node_stats();
printf("Good: %u\nDubious: %u\nCached: %u\nIncoming: %u\n",
statistics.good,
statistics.dubious,
statistics.cached,
statistics.incoming);
}
else if(strcmp(in, "/num_nodes") == 0) else if(strcmp(in, "/num_nodes") == 0)
printf("%u", NeoComm_count_connected_nodes()); printf("%u", NeoComm_count_connected_nodes());
else if(strcmp(in, "/help") == 0) else if(strcmp(in, "/help") == 0)

View File

@ -49,6 +49,16 @@ struct message {
struct user from; ///< Info on the peer who sent the message. struct user from; ///< Info on the peer who sent the message.
}; };
/**
* @brief Structure with information on the status of the node's connection.
*/
struct stats {
unsigned int good,
dubious,
cached,
incoming;
};
/** /**
* @brief Status of a sent message. * @brief Status of a sent message.
*/ */
@ -110,7 +120,7 @@ int NeoComm_export_nodes(const char *node_file);
* *
* @return A text description of the local node's status. * @return A text description of the local node's status.
*/ */
const char *NeoComm_get_node_stats(); struct stats NeoComm_get_node_stats();
/** /**
* @brief Get the number of nodes connected. * @brief Get the number of nodes connected.

View File

@ -117,20 +117,14 @@ unsigned int NeoComm_count_connected_nodes() {
return node.getNodesStats(AF_UNSPEC).getKnownNodes(); return node.getNodesStats(AF_UNSPEC).getKnownNodes();
} }
const char *NeoComm_get_node_stats() { struct stats NeoComm_get_node_stats() {
unsigned int good, dubious, cached, incoming, total; struct stats statistics;
total = node.getNodesStats( node.getNodesStats(
AF_UNSPEC, AF_UNSPEC,
&good, &statistics.good,
&dubious, &statistics.dubious,
&cached, &statistics.cached,
&incoming); &statistics.incoming);
std::string stats;
stats += "Good: " + good + std::string("\n");
stats += "Dubious: " + dubious + std::string("\n");
stats += "Cached: " + cached + std::string("\n");
stats += "Incoming: " + incoming + std::string("\n");
stats += "Total: " + total + std::string("\n");
return stats.c_str(); return statistics;
} }