*/
static GNUNET_CORE_DisconnectEventHandler client_dh;
+GNUNET_NETWORK_STRUCT_BEGIN
+
/**
* A HOSTLIST_ADV message is used to exchange information about
* hostlist advertisements. This struct is always
*/
uint32_t reserved GNUNET_PACKED;
};
-
+GNUNET_NETWORK_STRUCT_END
static struct GNUNET_PeerIdentity me;
/**
* Core handler for p2p hostlist advertisements
+ *
+ * @param cls closure
+ * @param peer identity of the sender
+ * @param message advertisement message we got
+ * @param atsi performance information
+ * @param atsi_count number of records in 'atsi'
+ * @return GNUNET_OK on success
*/
static int
advertisement_handler (void *cls, const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_MessageHeader *message,
- const struct GNUNET_TRANSPORT_ATS_Information *atsi)
+ const struct GNUNET_ATS_Information *atsi,
+ unsigned int atsi_count)
{
GNUNET_assert (NULL != client_adv_handler);
- return (*client_adv_handler) (cls, peer, message, atsi);
+ return (*client_adv_handler) (cls, peer, message, atsi, atsi_count);
}
* @param cls closure
* @param peer peer identity this notification is about
* @param atsi performance data
+ * @param atsi_count number of records in 'atsi'
*/
static void
connect_handler (void *cls, const struct GNUNET_PeerIdentity *peer,
- const struct GNUNET_TRANSPORT_ATS_Information *atsi)
+ const struct GNUNET_ATS_Information *atsi,
+ unsigned int atsi_count)
{
if (0 == memcmp (&me, peer, sizeof (struct GNUNET_PeerIdentity)))
return;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"A new peer connected, notifying client and server\n");
if (NULL != client_ch)
- (*client_ch) (cls, peer, atsi);
+ (*client_ch) (cls, peer, atsi, atsi_count);
#if HAVE_MHD
if (NULL != server_ch)
- (*server_ch) (cls, peer, atsi);
+ (*server_ch) (cls, peer, atsi, atsi_count);
#endif
}
stats = GNUNET_STATISTICS_create ("hostlist", cfg);
core =
- GNUNET_CORE_connect (cfg, 1, NULL, &core_init, &connect_handler,
+ GNUNET_CORE_connect (cfg, NULL, &core_init, &connect_handler,
&disconnect_handler, NULL, GNUNET_NO, NULL,
GNUNET_NO,
learning ? learn_handlers : no_learn_handlers);
int ret;
+ if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
+ return 2;
+
GNUNET_log_setup ("hostlist", "WARNING", NULL);
ret =
(GNUNET_OK ==
GNUNET_PROGRAM_run (argc, argv, "hostlist",
_("GNUnet hostlist server and client"), options,
&run, NULL)) ? 0 : 1;
-
+ GNUNET_free ((void*) argv);
return ret;
}