/*
This file is part of GNUnet.
- (C) 2009, 2012 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2009, 2012 GNUnet e.V.
- GNUnet is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
* @file nse/test_nse_multipeer.c
- *
* @brief Testcase for the network size estimation service. Starts
* a peergroup with a given number of peers, then waits to
* receive size estimates from each peer. Expects to wait
/**
* Handle to NSE service.
- */
+ */
struct GNUNET_NSE_Handle *nse_handle;
};
* Task run on timeout to shut everything down.
*/
static void
-shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+shutdown_task (void *cls)
{
unsigned int i;
FPRINTF (stderr,
"Received network size estimate from peer %u. logSize: %f std.dev. %f (%f/%u)\n",
- (unsigned int) (peer - nse_peers),
+ (unsigned int) (peer - nse_peers),
estimate, std_dev,
- GNUNET_NSE_log_estimate_to_n (estimate),
+ GNUNET_NSE_log_estimate_to_n (estimate),
NUM_PEERS);
+ ok = 0;
}
* operation has executed successfully.
*/
static void
-nse_connect_complete_cb (void *cls,
+nse_connect_complete_cb (void *cls,
struct GNUNET_TESTBED_Operation *op,
void *ca_result,
const char *emsg)
/**
* Adapter function called to establish a connection to
* the NSE service.
- *
+ *
* @param cls closure
* @param cfg configuration of the peer to connect to; will be available until
* GNUNET_TESTBED_operation_done() is called on the operation returned
* from GNUNET_TESTBED_service_connect()
* @return service handle to return in 'op_result', NULL on error
*/
-static void *
+static void *
nse_connect_adapter (void *cls,
const struct GNUNET_CONFIGURATION_Handle *cfg)
{
- return GNUNET_NSE_connect (cfg,
+ return GNUNET_NSE_connect (cfg,
&handle_estimate,
cls);
}
/**
* Adapter function called to destroy connection to
* NSE service.
- *
+ *
* @param cls closure
* @param op_result service handle returned from the connect adapter
*/
/**
* Actual "main" function for the testcase.
- *
+ *
* @param cls closure
+ * @param h the run handle
* @param num_peers number of peers in 'peers'
* @param peers handle to peers run in the testbed
+ * @param links_succeeded the number of overlay link connection attempts that
+ * succeeded
+ * @param links_failed the number of overlay link connection attempts that
+ * failed
*/
static void
run (void *cls,
+ struct GNUNET_TESTBED_RunHandle *h,
unsigned int num_peers,
- struct GNUNET_TESTBED_Peer **peers)
+ struct GNUNET_TESTBED_Peer **peers,
+ unsigned int links_succeeded,
+ unsigned int links_failed)
{
unsigned int i;
&nse_connect_adapter,
&nse_disconnect_adapter,
&nse_peers[i]);
- GNUNET_SCHEDULER_add_delayed (TIMEOUT, &shutdown_task, NULL);
+ GNUNET_SCHEDULER_add_delayed (TIMEOUT,
+ &shutdown_task, NULL);
}
main (int argc, char *argv[])
{
ok = 1;
- GNUNET_TESTBED_test_run ("test-nse-multipeer",
- "test_nse.conf",
- NUM_PEERS,
- 0, NULL, NULL,
- &run, NULL);
+ (void) GNUNET_TESTBED_test_run ("test-nse-multipeer",
+ "test_nse.conf",
+ NUM_PEERS,
+ 0, NULL, NULL,
+ &run, NULL);
return ok;
}