aboutsummaryrefslogtreecommitdiff
path: root/src/nse/test_nse_multipeer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nse/test_nse_multipeer.c')
-rw-r--r--src/nse/test_nse_multipeer.c115
1 files changed, 58 insertions, 57 deletions
diff --git a/src/nse/test_nse_multipeer.c b/src/nse/test_nse_multipeer.c
index 88ced26d2..4c998373e 100644
--- a/src/nse/test_nse_multipeer.c
+++ b/src/nse/test_nse_multipeer.c
@@ -37,13 +37,14 @@
37/** 37/**
38 * How long do we run the test? 38 * How long do we run the test?
39 */ 39 */
40#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 300) 40#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 300)
41 41
42 42
43/** 43/**
44 * Information we track for each peer. 44 * Information we track for each peer.
45 */ 45 */
46struct NSEPeer { 46struct NSEPeer
47{
47 /** 48 /**
48 * Handle for NSE connect operation. 49 * Handle for NSE connect operation.
49 */ 50 */
@@ -71,13 +72,13 @@ static int ok;
71 * Task run on timeout to shut everything down. 72 * Task run on timeout to shut everything down.
72 */ 73 */
73static void 74static void
74shutdown_task(void *cls) 75shutdown_task (void *cls)
75{ 76{
76 unsigned int i; 77 unsigned int i;
77 78
78 for (i = 0; i < NUM_PEERS; i++) 79 for (i = 0; i < NUM_PEERS; i++)
79 GNUNET_TESTBED_operation_done(nse_peers[i].op); 80 GNUNET_TESTBED_operation_done (nse_peers[i].op);
80 GNUNET_SCHEDULER_shutdown(); 81 GNUNET_SCHEDULER_shutdown ();
81} 82}
82 83
83 84
@@ -92,17 +93,17 @@ shutdown_task(void *cls)
92 * 93 *
93 */ 94 */
94static void 95static void
95handle_estimate(void *cls, struct GNUNET_TIME_Absolute timestamp, 96handle_estimate (void *cls, struct GNUNET_TIME_Absolute timestamp,
96 double estimate, double std_dev) 97 double estimate, double std_dev)
97{ 98{
98 struct NSEPeer *peer = cls; 99 struct NSEPeer *peer = cls;
99 100
100 fprintf(stderr, 101 fprintf (stderr,
101 "Received network size estimate from peer %u. logSize: %f std.dev. %f (%f/%u)\n", 102 "Received network size estimate from peer %u. logSize: %f std.dev. %f (%f/%u)\n",
102 (unsigned int)(peer - nse_peers), 103 (unsigned int) (peer - nse_peers),
103 estimate, std_dev, 104 estimate, std_dev,
104 GNUNET_NSE_log_estimate_to_n(estimate), 105 GNUNET_NSE_log_estimate_to_n (estimate),
105 NUM_PEERS); 106 NUM_PEERS);
106 ok = 0; 107 ok = 0;
107} 108}
108 109
@@ -117,24 +118,24 @@ handle_estimate(void *cls, struct GNUNET_TIME_Absolute timestamp,
117 * operation has executed successfully. 118 * operation has executed successfully.
118 */ 119 */
119static void 120static void
120nse_connect_complete_cb(void *cls, 121nse_connect_complete_cb (void *cls,
121 struct GNUNET_TESTBED_Operation *op, 122 struct GNUNET_TESTBED_Operation *op,
122 void *ca_result, 123 void *ca_result,
123 const char *emsg) 124 const char *emsg)
124{ 125{
125 struct NSEPeer *peer = cls; 126 struct NSEPeer *peer = cls;
126 struct GNUNET_NSE_Handle *nse = ca_result; 127 struct GNUNET_NSE_Handle *nse = ca_result;
127 128
128 GNUNET_assert(op == peer->op); 129 GNUNET_assert (op == peer->op);
129 if (NULL != emsg) 130 if (NULL != emsg)
130 { 131 {
131 GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 132 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
132 "Failed to connect to NSE service: %s\n", 133 "Failed to connect to NSE service: %s\n",
133 emsg); 134 emsg);
134 ok = 1; 135 ok = 1;
135 GNUNET_SCHEDULER_shutdown(); 136 GNUNET_SCHEDULER_shutdown ();
136 return; 137 return;
137 } 138 }
138 peer->nse_handle = nse; 139 peer->nse_handle = nse;
139} 140}
140 141
@@ -150,12 +151,12 @@ nse_connect_complete_cb(void *cls,
150 * @return service handle to return in 'op_result', NULL on error 151 * @return service handle to return in 'op_result', NULL on error
151 */ 152 */
152static void * 153static void *
153nse_connect_adapter(void *cls, 154nse_connect_adapter (void *cls,
154 const struct GNUNET_CONFIGURATION_Handle *cfg) 155 const struct GNUNET_CONFIGURATION_Handle *cfg)
155{ 156{
156 return GNUNET_NSE_connect(cfg, 157 return GNUNET_NSE_connect (cfg,
157 &handle_estimate, 158 &handle_estimate,
158 cls); 159 cls);
159} 160}
160 161
161 162
@@ -167,10 +168,10 @@ nse_connect_adapter(void *cls,
167 * @param op_result service handle returned from the connect adapter 168 * @param op_result service handle returned from the connect adapter
168 */ 169 */
169static void 170static void
170nse_disconnect_adapter(void *cls, 171nse_disconnect_adapter (void *cls,
171 void *op_result) 172 void *op_result)
172{ 173{
173 GNUNET_NSE_disconnect(op_result); 174 GNUNET_NSE_disconnect (op_result);
174} 175}
175 176
176 177
@@ -187,27 +188,27 @@ nse_disconnect_adapter(void *cls,
187 * failed 188 * failed
188 */ 189 */
189static void 190static void
190run(void *cls, 191run (void *cls,
191 struct GNUNET_TESTBED_RunHandle *h, 192 struct GNUNET_TESTBED_RunHandle *h,
192 unsigned int num_peers, 193 unsigned int num_peers,
193 struct GNUNET_TESTBED_Peer **peers, 194 struct GNUNET_TESTBED_Peer **peers,
194 unsigned int links_succeeded, 195 unsigned int links_succeeded,
195 unsigned int links_failed) 196 unsigned int links_failed)
196{ 197{
197 unsigned int i; 198 unsigned int i;
198 199
199 GNUNET_assert(NUM_PEERS == num_peers); 200 GNUNET_assert (NUM_PEERS == num_peers);
200 for (i = 0; i < num_peers; i++) 201 for (i = 0; i < num_peers; i++)
201 nse_peers[i].op = GNUNET_TESTBED_service_connect(&nse_peers[i], 202 nse_peers[i].op = GNUNET_TESTBED_service_connect (&nse_peers[i],
202 peers[i], 203 peers[i],
203 "nse", 204 "nse",
204 &nse_connect_complete_cb, 205 &nse_connect_complete_cb,
205 &nse_peers[i], 206 &nse_peers[i],
206 &nse_connect_adapter, 207 &nse_connect_adapter,
207 &nse_disconnect_adapter, 208 &nse_disconnect_adapter,
208 &nse_peers[i]); 209 &nse_peers[i]);
209 GNUNET_SCHEDULER_add_delayed(TIMEOUT, 210 GNUNET_SCHEDULER_add_delayed (TIMEOUT,
210 &shutdown_task, NULL); 211 &shutdown_task, NULL);
211} 212}
212 213
213 214
@@ -219,14 +220,14 @@ run(void *cls,
219 * @return 0 on success 220 * @return 0 on success
220 */ 221 */
221int 222int
222main(int argc, char *argv[]) 223main (int argc, char *argv[])
223{ 224{
224 ok = 1; 225 ok = 1;
225 (void)GNUNET_TESTBED_test_run("test-nse-multipeer", 226 (void) GNUNET_TESTBED_test_run ("test-nse-multipeer",
226 "test_nse.conf", 227 "test_nse.conf",
227 NUM_PEERS, 228 NUM_PEERS,
228 0, NULL, NULL, 229 0, NULL, NULL,
229 &run, NULL); 230 &run, NULL);
230 return ok; 231 return ok;
231} 232}
232 233