diff options
author | Julius Bünger <buenger@mytum.de> | 2018-10-01 20:05:40 +0200 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2018-10-01 23:15:31 +0200 |
commit | 3823c7a71aa1b16df6c34ef3def45875289a6b3d (patch) | |
tree | 14fa9b007663823983fad8194202e8441a4588c0 /src/rps/test_service_rps_view.c | |
parent | b3aad5bef2e78487251ef7fc766a510f9fc731c9 (diff) | |
download | gnunet-3823c7a71aa1b16df6c34ef3def45875289a6b3d.tar.gz gnunet-3823c7a71aa1b16df6c34ef3def45875289a6b3d.zip |
Restructure implementation of view (towards subsampling)
Diffstat (limited to 'src/rps/test_service_rps_view.c')
-rw-r--r-- | src/rps/test_service_rps_view.c | 141 |
1 files changed, 71 insertions, 70 deletions
diff --git a/src/rps/test_service_rps_view.c b/src/rps/test_service_rps_view.c index 16cf4b832..7418a16fc 100644 --- a/src/rps/test_service_rps_view.c +++ b/src/rps/test_service_rps_view.c | |||
@@ -22,114 +22,115 @@ | |||
22 | #include <platform.h> | 22 | #include <platform.h> |
23 | #include "gnunet-service-rps_view.h" | 23 | #include "gnunet-service-rps_view.h" |
24 | 24 | ||
25 | #define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); View_destroy(); return 1; } | 25 | #define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); View_destroy(view); return 1; } |
26 | #define CHECK(c) { if (! (c)) ABORT(); } | 26 | #define CHECK(c) { if (! (c)) ABORT(); } |
27 | 27 | ||
28 | 28 | ||
29 | static int | 29 | static int |
30 | check () | 30 | check () |
31 | { | 31 | { |
32 | struct View *view; | ||
32 | struct GNUNET_PeerIdentity k1; | 33 | struct GNUNET_PeerIdentity k1; |
33 | struct GNUNET_PeerIdentity k2; | 34 | struct GNUNET_PeerIdentity k2; |
34 | const struct GNUNET_PeerIdentity *array; | 35 | const struct GNUNET_PeerIdentity *array; |
35 | int j; | 36 | unsigned int j; |
36 | 37 | ||
37 | View_create (3); | 38 | view = View_create (3); |
38 | memset (&k1, 0, sizeof (k1)); | 39 | memset (&k1, 0, sizeof (k1)); |
39 | memset (&k2, 1, sizeof (k2)); | 40 | memset (&k2, 1, sizeof (k2)); |
40 | CHECK (GNUNET_NO == View_contains_peer (&k1)); | 41 | CHECK (GNUNET_NO == View_contains_peer (view, &k1)); |
41 | CHECK (GNUNET_NO == View_contains_peer (&k2)); | 42 | CHECK (GNUNET_NO == View_contains_peer (view, &k2)); |
42 | CHECK (GNUNET_NO == View_remove_peer (&k1)); | 43 | CHECK (GNUNET_NO == View_remove_peer (view, &k1)); |
43 | CHECK (GNUNET_NO == View_remove_peer (&k2)); | 44 | CHECK (GNUNET_NO == View_remove_peer (view, &k2)); |
44 | CHECK (NULL == View_get_peer_by_index (0)); | 45 | CHECK (NULL == View_get_peer_by_index (view, 0)); |
45 | CHECK (NULL == View_get_peer_by_index (1)); | 46 | CHECK (NULL == View_get_peer_by_index (view, 1)); |
46 | View_clear (); /* See if assertions trigger */ | 47 | View_clear (view); /* See if assertions trigger */ |
47 | CHECK (0 == View_size ()); | 48 | CHECK (0 == View_size (view)); |
48 | 49 | ||
49 | CHECK (GNUNET_OK == View_put (&k1)); | 50 | CHECK (GNUNET_OK == View_put (view, &k1)); |
50 | CHECK (1 == View_size ()); | 51 | CHECK (1 == View_size (view)); |
51 | CHECK (GNUNET_NO == View_put (&k1)); | 52 | CHECK (GNUNET_NO == View_put (view, &k1)); |
52 | CHECK (1 == View_size ()); | 53 | CHECK (1 == View_size (view)); |
53 | CHECK (GNUNET_YES == View_contains_peer (&k1)); | 54 | CHECK (GNUNET_YES == View_contains_peer (view, &k1)); |
54 | CHECK (GNUNET_OK == View_remove_peer (&k1)); | 55 | CHECK (GNUNET_OK == View_remove_peer (view, &k1)); |
55 | CHECK (0 == View_size ()); | 56 | CHECK (0 == View_size (view)); |
56 | CHECK (GNUNET_NO == View_contains_peer (&k1)); | 57 | CHECK (GNUNET_NO == View_contains_peer (view, &k1)); |
57 | CHECK (GNUNET_NO == View_contains_peer (&k2)); | 58 | CHECK (GNUNET_NO == View_contains_peer (view, &k2)); |
58 | 59 | ||
59 | CHECK (GNUNET_OK == View_put (&k1)); | 60 | CHECK (GNUNET_OK == View_put (view, &k1)); |
60 | CHECK (1 == View_size ()); | 61 | CHECK (1 == View_size (view)); |
61 | for (j = 0; j < 16; j++) | 62 | for (j = 0; j < 16; j++) |
62 | { | 63 | { |
63 | CHECK (GNUNET_NO == View_put (&k1)); | 64 | CHECK (GNUNET_NO == View_put (view, &k1)); |
64 | } | 65 | } |
65 | CHECK (1 == View_size ()); | 66 | CHECK (1 == View_size (view)); |
66 | CHECK (GNUNET_OK == View_put (&k2)); | 67 | CHECK (GNUNET_OK == View_put (view, &k2)); |
67 | CHECK (2 == View_size ()); | 68 | CHECK (2 == View_size (view)); |
68 | for (j = 0; j < 16; j++) | 69 | for (j = 0; j < 16; j++) |
69 | { | 70 | { |
70 | CHECK (GNUNET_NO == View_put (&k2)); | 71 | CHECK (GNUNET_NO == View_put (view, &k2)); |
71 | } | 72 | } |
72 | CHECK (2 == View_size ()); | 73 | CHECK (2 == View_size (view)); |
73 | 74 | ||
74 | /* iterate */ | 75 | /* iterate */ |
75 | for (j = 0; j < View_size (); j++) | 76 | for (j = 0; j < View_size (view); j++) |
76 | { | 77 | { |
77 | CHECK (NULL != View_get_peer_by_index (j)); | 78 | CHECK (NULL != View_get_peer_by_index (view, j)); |
78 | } | 79 | } |
79 | CHECK ((0 == memcmp (View_get_peer_by_index (0), | 80 | CHECK ((0 == memcmp (View_get_peer_by_index (view, 0), |
80 | &k1, sizeof (k1)))); | 81 | &k1, sizeof (k1)))); |
81 | CHECK ((0 == memcmp (View_get_peer_by_index (1), | 82 | CHECK ((0 == memcmp (View_get_peer_by_index (view, 1), |
82 | &k2, sizeof (k2)))); | 83 | &k2, sizeof (k2)))); |
83 | CHECK (GNUNET_OK == View_remove_peer (&k1)); | 84 | CHECK (GNUNET_OK == View_remove_peer (view, &k1)); |
84 | CHECK (1 == View_size ()); | 85 | CHECK (1 == View_size (view)); |
85 | CHECK (GNUNET_NO == View_contains_peer (&k1)); | 86 | CHECK (GNUNET_NO == View_contains_peer (view, &k1)); |
86 | CHECK (GNUNET_YES == View_contains_peer (&k2)); | 87 | CHECK (GNUNET_YES == View_contains_peer (view, &k2)); |
87 | CHECK (NULL != View_get_peer_by_index (0)); | 88 | CHECK (NULL != View_get_peer_by_index (view, 0)); |
88 | CHECK (NULL == View_get_peer_by_index (1)); | 89 | CHECK (NULL == View_get_peer_by_index (view, 1)); |
89 | 90 | ||
90 | View_clear (); | 91 | View_clear (view); |
91 | CHECK (0 == View_size ()); | 92 | CHECK (0 == View_size (view)); |
92 | 93 | ||
93 | CHECK (GNUNET_OK == View_put (&k1)); | 94 | CHECK (GNUNET_OK == View_put (view, &k1)); |
94 | CHECK (1 == View_size ()); | 95 | CHECK (1 == View_size (view)); |
95 | CHECK (GNUNET_YES == View_contains_peer (&k1)); | 96 | CHECK (GNUNET_YES == View_contains_peer (view, &k1)); |
96 | CHECK (GNUNET_OK == View_put (&k2)); | 97 | CHECK (GNUNET_OK == View_put (view, &k2)); |
97 | CHECK (2 == View_size ()); | 98 | CHECK (2 == View_size (view)); |
98 | CHECK (GNUNET_YES == View_contains_peer (&k2)); | 99 | CHECK (GNUNET_YES == View_contains_peer (view, &k2)); |
99 | array = View_get_as_array (); | 100 | array = View_get_as_array (view); |
100 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); | 101 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); |
101 | CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); | 102 | CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); |
102 | View_clear (); | 103 | View_clear (view); |
103 | CHECK (0 == View_size ()); | 104 | CHECK (0 == View_size (view)); |
104 | 105 | ||
105 | /*View_change_len () */ | 106 | /*View_change_len () */ |
106 | CHECK (GNUNET_OK == View_put (&k1)); | 107 | CHECK (GNUNET_OK == View_put (view, &k1)); |
107 | CHECK (GNUNET_OK == View_put (&k2)); | 108 | CHECK (GNUNET_OK == View_put (view, &k2)); |
108 | CHECK (2 == View_size ()); | 109 | CHECK (2 == View_size (view)); |
109 | View_change_len (4); | 110 | View_change_len (view, 4); |
110 | CHECK (2 == View_size ()); | 111 | CHECK (2 == View_size (view)); |
111 | CHECK (GNUNET_YES == View_contains_peer (&k1)); | 112 | CHECK (GNUNET_YES == View_contains_peer (view, &k1)); |
112 | CHECK (GNUNET_YES == View_contains_peer (&k2)); | 113 | CHECK (GNUNET_YES == View_contains_peer (view, &k2)); |
113 | array = View_get_as_array (); | 114 | array = View_get_as_array (view); |
114 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); | 115 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); |
115 | CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); | 116 | CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); |
116 | View_change_len (1); | 117 | View_change_len (view, 1); |
117 | CHECK (1 == View_size ()); | 118 | CHECK (1 == View_size (view)); |
118 | CHECK (GNUNET_YES == View_contains_peer (&k1)); | 119 | CHECK (GNUNET_YES == View_contains_peer (view, &k1)); |
119 | CHECK (GNUNET_NO == View_contains_peer (&k2)); | 120 | CHECK (GNUNET_NO == View_contains_peer (view, &k2)); |
120 | array = View_get_as_array (); | 121 | array = View_get_as_array (view); |
121 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); | 122 | CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); |
122 | View_clear (); | 123 | View_clear (view); |
123 | CHECK (0 == View_size ()); | 124 | CHECK (0 == View_size (view)); |
124 | 125 | ||
125 | View_destroy (); | 126 | View_destroy (view); |
126 | 127 | ||
127 | return 0; | 128 | return 0; |
128 | } | 129 | } |
129 | 130 | ||
130 | 131 | ||
131 | int | 132 | int |
132 | main (int argc, char *argv[]) | 133 | main () |
133 | { | 134 | { |
134 | GNUNET_log_setup ("test_service_rps_peers", | 135 | GNUNET_log_setup ("test_service_rps_peers", |
135 | "WARNING", | 136 | "WARNING", |