summaryrefslogtreecommitdiff
path: root/src/rps/test_rps.c
diff options
context:
space:
mode:
authorJulius Bünger <buenger@mytum.de>2018-03-21 07:56:14 +0100
committerJulius Bünger <buenger@mytum.de>2018-03-21 10:12:30 +0100
commit29d419cdf833f2b2115250373c1a015f12a017e1 (patch)
tree77bad5d08da45bbc8b17780924f834caaf39981b /src/rps/test_rps.c
parent28e2cbb911ee174d17a5eb0de41465d668b133d0 (diff)
downloadgnunet-29d419cdf833f2b2115250373c1a015f12a017e1.tar.gz
gnunet-29d419cdf833f2b2115250373c1a015f12a017e1.zip
rps profiler: restructure function
Diffstat (limited to 'src/rps/test_rps.c')
-rw-r--r--src/rps/test_rps.c36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/rps/test_rps.c b/src/rps/test_rps.c
index e0f87652b..127b973ac 100644
--- a/src/rps/test_rps.c
+++ b/src/rps/test_rps.c
@@ -1818,9 +1818,27 @@ store_stats_file_name (struct RPSPeer *rps_peer)
1818 rps_peer->file_name_stats = file_name; 1818 rps_peer->file_name_stats = file_name;
1819} 1819}
1820 1820
1821void count_peer_in_views (uint32_t *count_peers)
1822{
1823 uint32_t i, j;
1824
1825 for (i = 0; i < num_peers; i++) /* Peer in which view is counted */
1826 {
1827 for (j = 0; j < rps_peers[i].cur_view_count; j++) /* entry in view */
1828 {
1829 if (0 == memcmp (rps_peers[i].peer_id,
1830 &rps_peers[i].cur_view[j],
1831 sizeof (struct GNUNET_PeerIdentity)))
1832 {
1833 count_peers[i]++;
1834 }
1835 }
1836 }
1837}
1838
1821void compute_diversity () 1839void compute_diversity ()
1822{ 1840{
1823 uint32_t i, j, k; 1841 uint32_t i;
1824 /* ith entry represents the numer of occurrences in other peer's views */ 1842 /* ith entry represents the numer of occurrences in other peer's views */
1825 uint32_t *count_peers = GNUNET_new_array (num_peers, uint32_t); 1843 uint32_t *count_peers = GNUNET_new_array (num_peers, uint32_t);
1826 uint32_t views_total_size; 1844 uint32_t views_total_size;
@@ -1835,21 +1853,11 @@ void compute_diversity ()
1835 for (i = 0; i < num_peers; i++) /* Peer to count */ 1853 for (i = 0; i < num_peers; i++) /* Peer to count */
1836 { 1854 {
1837 views_total_size += rps_peers[i].cur_view_count; 1855 views_total_size += rps_peers[i].cur_view_count;
1838 for (j = 0; j < num_peers; j++) /* Peer in which view is counted */ 1856 count_peer_in_views (count_peers);
1839 {
1840 for (k = 0; k < rps_peers[j].cur_view_count; k++) /* entry in view */
1841 {
1842 if (0 == memcmp (rps_peers[i].peer_id,
1843 &rps_peers[j].cur_view[k],
1844 sizeof (struct GNUNET_PeerIdentity)))
1845 {
1846 count_peers[i]++;
1847 }
1848 }
1849 }
1850 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 1857 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
1851 "Counted representation of %" PRIu32 "th peer: %" PRIu32"\n", 1858 "Counted representation of %" PRIu32 "th peer [%s]: %" PRIu32"\n",
1852 i, 1859 i,
1860 GNUNET_i2s (rps_peers[i].peer_id),
1853 count_peers[i]); 1861 count_peers[i]);
1854 } 1862 }
1855 1863