From 6a3aa5797d49178e806fc5cc5713806647cbd040 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 27 May 2012 17:41:52 +0000 Subject: [PATCH] -fix #2378 --- src/ats/ats_api_scheduling.c | 14 ++++++++------ src/fs/fs_search.c | 2 +- src/include/gnunet_ats_service.h | 1 + src/include/gnunet_transport_plugin.h | 11 ++++++----- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/ats/ats_api_scheduling.c b/src/ats/ats_api_scheduling.c index 583ada8f7..5a4e8831f 100644 --- a/src/ats/ats_api_scheduling.c +++ b/src/ats/ats_api_scheduling.c @@ -145,7 +145,6 @@ struct GNUNET_ATS_SchedulingHandle */ struct ATS_Network * net_tail; - /** * Array of session objects (we need to translate them to numbers and back * for the protocol; the offset in the array is the session number on the @@ -162,7 +161,6 @@ struct GNUNET_ATS_SchedulingHandle /** * Task retrieving interfaces from the system */ - GNUNET_SCHEDULER_TaskIdentifier interface_task; @@ -619,10 +617,10 @@ reconnect (struct GNUNET_ATS_SchedulingHandle *sh) do_transmit (sh); } + /** * delete the current network list */ - static void delete_networks (struct GNUNET_ATS_SchedulingHandle *sh) { @@ -735,7 +733,6 @@ interface_proc (void *cls, const char *name, } - /** * Periodically get list of addresses * @param cls closure @@ -753,14 +750,15 @@ get_addresses (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) sh); } + /** * Returns where the address is located: LAN or WAN or ... + * * @param sh the scheduling handle * @param addr address * @param addrlen address length * @return location as GNUNET_ATS_Information */ - struct GNUNET_ATS_Information GNUNET_ATS_address_get_type (struct GNUNET_ATS_SchedulingHandle * sh, const struct sockaddr * addr, socklen_t addrlen) { @@ -852,6 +850,7 @@ GNUNET_ATS_address_get_type (struct GNUNET_ATS_SchedulingHandle * sh, const stru return (const struct GNUNET_ATS_Information) ats; } + /** * Initialize the ATS subsystem. * @@ -959,6 +958,8 @@ GNUNET_ATS_suggest_address (struct GNUNET_ATS_SchedulingHandle *sh, struct PendingMessage *p; struct RequestAddressMessage *m; + // FIXME: ATS needs to remember this in case of + // a disconnect! p = GNUNET_malloc (sizeof (struct PendingMessage) + sizeof (struct RequestAddressMessage)); p->size = sizeof (struct RequestAddressMessage); @@ -999,6 +1000,7 @@ GNUNET_ATS_suggest_address_cancel (struct GNUNET_ATS_SchedulingHandle *sh, do_transmit (sh); } + /** * We have updated performance statistics for a given address. Note * that this function can be called for addresses that are currently @@ -1123,10 +1125,10 @@ GNUNET_ATS_address_in_use (struct GNUNET_ATS_SchedulingHandle *sh, memcpy (pm, address->address, address->address_length); memcpy (&pm[address->address_length], address->transport_name, namelen); GNUNET_CONTAINER_DLL_insert_tail (sh->pending_head, sh->pending_tail, p); - do_transmit (sh); } + /** * A session got destroyed, stop including it as a valid address. * diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index 3eacbe9cb..b280670f6 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c @@ -1583,7 +1583,7 @@ GNUNET_FS_search_stop (struct GNUNET_FS_SearchContext *sc) GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, &search_result_free, sc); GNUNET_CONTAINER_multihashmap_destroy (sc->master_result_map); - if (NULL == sc->requests) + if (NULL != sc->requests) { GNUNET_assert (GNUNET_FS_uri_test_ksk (sc->uri)); for (i = 0; i < sc->uri->data.ksk.keywordCount; i++) diff --git a/src/include/gnunet_ats_service.h b/src/include/gnunet_ats_service.h index a5f1bdc23..aa7a08916 100644 --- a/src/include/gnunet_ats_service.h +++ b/src/include/gnunet_ats_service.h @@ -605,6 +605,7 @@ GNUNET_ATS_address_in_use (struct GNUNET_ATS_SchedulingHandle *sh, const struct GNUNET_HELLO_Address *address, struct Session *session, int in_use); + /** * A session got destroyed, stop including it as a valid address. * diff --git a/src/include/gnunet_transport_plugin.h b/src/include/gnunet_transport_plugin.h index 1e46c92f8..6039809f7 100644 --- a/src/include/gnunet_transport_plugin.h +++ b/src/include/gnunet_transport_plugin.h @@ -313,11 +313,12 @@ typedef void (*GNUNET_TRANSPORT_TransmitContinuation) (void *cls, * and does NOT mean that the message was not transmitted (DV) */ typedef ssize_t (*GNUNET_TRANSPORT_TransmitFunction) (void *cls, - struct Session *session, - const char *msgbuf, size_t msgbuf_size, - unsigned int priority, - struct GNUNET_TIME_Relative to, - GNUNET_TRANSPORT_TransmitContinuation cont, void *cont_cls); + struct Session *session, + const char *msgbuf, size_t msgbuf_size, + unsigned int priority, + struct GNUNET_TIME_Relative to, + GNUNET_TRANSPORT_TransmitContinuation cont, + void *cont_cls); /** -- 2.25.1