X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fhostlist%2Fhostlist-server.c;h=95272a555697f28a9b4c247a7340abc36ea572a6;hb=11489754ee4b080b31dc68471e3dc3c7ae2885ce;hp=0726bf3e04750f87a3e973d372f440fb490deb2e;hpb=e4794e7e4bc63d2023768e3b1017f19bd0d41c5f;p=oweals%2Fgnunet.git diff --git a/src/hostlist/hostlist-server.c b/src/hostlist/hostlist-server.c index 0726bf3e0..95272a555 100644 --- a/src/hostlist/hostlist-server.c +++ b/src/hostlist/hostlist-server.c @@ -4,7 +4,7 @@ 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 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -49,11 +49,6 @@ static struct MHD_Daemon *daemon_handle_v4; */ static const struct GNUNET_CONFIGURATION_Handle *cfg; -/** - * Our scheduler. - */ -static struct GNUNET_SCHEDULER_Handle *sched; - /** * For keeping statistics. */ @@ -163,7 +158,7 @@ check_has_addr (void *cls, { int *arg = cls; - if (GNUNET_TIME_absolute_get_remaining (expiration).value == 0) + if (GNUNET_TIME_absolute_get_remaining (expiration).rel_value == 0) { GNUNET_STATISTICS_update (stats, gettext_noop("expired addresses encountered"), @@ -183,8 +178,7 @@ check_has_addr (void *cls, static void host_processor (void *cls, const struct GNUNET_PeerIdentity * peer, - const struct GNUNET_HELLO_Message *hello, - uint32_t trust) + const struct GNUNET_HELLO_Message *hello) { struct HostSet *results = cls; size_t old; @@ -382,15 +376,13 @@ adv_transmit_ready ( void *cls, size_t size, void *buf) * * @param cls closure * @param peer peer identity this notification is about - * @param latency reported latency of the connection with 'other' - * @param distance reported distance (DV) to 'other' + * @param atsi performance data */ static void connect_handler (void *cls, const struct GNUNET_PeerIdentity * peer, - struct GNUNET_TIME_Relative latency, - uint32_t distance) + const struct GNUNET_TRANSPORT_ATS_Information *atsi) { size_t size; @@ -399,7 +391,7 @@ connect_handler (void *cls, if (hostlist_uri == NULL) return; size = strlen (hostlist_uri) + 1; - if (size + sizeof (struct GNUNET_MessageHeader) > GNUNET_SERVER_MAX_MESSAGE_SIZE) + if (size + sizeof (struct GNUNET_MessageHeader) >= GNUNET_SERVER_MAX_MESSAGE_SIZE) { GNUNET_break (0); return; @@ -447,13 +439,11 @@ disconnect_handler (void *cls, * @param cls closure (not used) * @param peer potential peer to connect to * @param hello HELLO for this peer (or NULL) - * @param trust how much we trust the peer (not used) */ static void process_notify (void *cls, const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Message *hello, - uint32_t trust) + const struct GNUNET_HELLO_Message *hello) { struct HostSet *results; #if DEBUG_HOSTLIST_SERVER @@ -464,7 +454,6 @@ process_notify (void *cls, GNUNET_assert (peerinfo != NULL); pitr = GNUNET_PEERINFO_iterate (peerinfo, NULL, - 0, GNUNET_TIME_UNIT_MINUTES, &host_processor, results); @@ -537,14 +526,13 @@ prepare_daemon (struct MHD_Daemon *daemon_handle) &max)); haveto = MHD_get_timeout (daemon_handle, &timeout); if (haveto == MHD_YES) - tv.value = (uint64_t) timeout; + tv.rel_value = (uint64_t) timeout; else tv = GNUNET_TIME_UNIT_FOREVER_REL; - GNUNET_NETWORK_fdset_copy_native (wrs, &rs, max); - GNUNET_NETWORK_fdset_copy_native (wws, &ws, max); - GNUNET_NETWORK_fdset_copy_native (wes, &es, max); - ret = GNUNET_SCHEDULER_add_select (sched, - GNUNET_SCHEDULER_PRIORITY_HIGH, + GNUNET_NETWORK_fdset_copy_native (wrs, &rs, max + 1); + GNUNET_NETWORK_fdset_copy_native (wws, &ws, max + 1); + GNUNET_NETWORK_fdset_copy_native (wes, &es, max + 1); + ret = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_HIGH, GNUNET_SCHEDULER_NO_TASK, tv, wrs, @@ -566,7 +554,6 @@ prepare_daemon (struct MHD_Daemon *daemon_handle) */ int GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, - struct GNUNET_SCHEDULER_Handle *s, struct GNUNET_STATISTICS_Handle *st, struct GNUNET_CORE_Handle *co, GNUNET_CORE_ConnectEventHandler *server_ch, @@ -584,10 +571,9 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, else GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Advertising enabled on this hostlist server\n"); - sched = s; cfg = c; stats = st; - peerinfo = GNUNET_PEERINFO_connect (sched, cfg); + peerinfo = GNUNET_PEERINFO_connect (cfg); if (peerinfo == NULL) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, @@ -686,7 +672,7 @@ GNUNET_HOSTLIST_server_start (const struct GNUNET_CONFIGURATION_Handle *c, if (daemon_handle_v6 != NULL) hostlist_task_v6 = prepare_daemon (daemon_handle_v6); - notify = GNUNET_PEERINFO_notify ( cfg, sched, process_notify, NULL); + notify = GNUNET_PEERINFO_notify ( cfg, process_notify, NULL); return GNUNET_OK; } @@ -708,12 +694,12 @@ GNUNET_HOSTLIST_server_stop () } if (GNUNET_SCHEDULER_NO_TASK != hostlist_task_v6) { - GNUNET_SCHEDULER_cancel (sched, hostlist_task_v6); + GNUNET_SCHEDULER_cancel (hostlist_task_v6); hostlist_task_v6 = GNUNET_SCHEDULER_NO_TASK; } if (GNUNET_SCHEDULER_NO_TASK != hostlist_task_v4) { - GNUNET_SCHEDULER_cancel (sched, hostlist_task_v4); + GNUNET_SCHEDULER_cancel (hostlist_task_v4); hostlist_task_v4 = GNUNET_SCHEDULER_NO_TASK; } if (pitr != NULL) @@ -742,7 +728,6 @@ GNUNET_HOSTLIST_server_stop () peerinfo = NULL; } cfg = NULL; - sched = NULL; stats = NULL; core = NULL; }