From 658f44879747d23c92e30ca004b04e2dddac73d8 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 22 Jun 2014 19:57:22 +0000 Subject: -simplify logic a bit, doxygen, indentation --- src/transport/gnunet-service-transport.c | 32 +------ src/transport/gnunet-service-transport_clients.c | 46 +++++----- .../gnunet-service-transport_validation.c | 102 ++++++++++++--------- .../gnunet-service-transport_validation.h | 72 +++++++-------- src/transport/gnunet-transport.c | 18 ++-- src/transport/transport.h | 9 +- src/transport/transport_api_monitoring.c | 42 +++++---- 7 files changed, 158 insertions(+), 163 deletions(-) (limited to 'src') diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index 936742e7b..a41aa7f65 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c @@ -1009,35 +1009,6 @@ neighbours_changed_notification (void *cls, GST_clients_broadcast_peer_notification (peer, address, state, state_timeout); } -/** - * Function called to notify transport users that a neighbour peer changed its - * active address. - * - * @param cls closure - * @param peer peer this update is about (never NULL) - * @param address address (never NULL) - * @param last_validation point in time when last validation was performed - * @param valid_until point in time how long address is valid - * @param next_validation point in time when next validation will be performed - * @param state state of validation notification - */ -static void -validation_changed_notification (void *cls, - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Address *address, - struct GNUNET_TIME_Absolute last_validation, - struct GNUNET_TIME_Absolute valid_until, - struct GNUNET_TIME_Absolute next_validation, - enum GNUNET_TRANSPORT_ValidationState state) -{ - GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, - "Notifying about change for for validation entry for peer `%s' with address `%s'\n", - GNUNET_i2s (peer), - (NULL != address) ? GST_plugins_a2s (address) : ""); - - GST_clients_broadcast_validation_notification (peer, address, - last_validation, valid_until, next_validation, state); -} /** * Function called when the service shuts down. Unloads our plugins @@ -1191,9 +1162,10 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, &neighbours_changed_notification, (max_fd / 3) * 2); GST_clients_start (GST_server); - GST_validation_start (&validation_changed_notification, NULL, (max_fd / 3)); + GST_validation_start ((max_fd / 3)); } + /** * The main function for the transport service. * diff --git a/src/transport/gnunet-service-transport_clients.c b/src/transport/gnunet-service-transport_clients.c index fc3abdd1a..29d506ab3 100644 --- a/src/transport/gnunet-service-transport_clients.c +++ b/src/transport/gnunet-service-transport_clients.c @@ -1115,10 +1115,11 @@ struct IterationContext int all; }; + /** * Output information of validation entries to the given client. * - * @param cls the 'struct IterationContext' + * @param cls the `struct IterationContext *` * @param peer identity of the neighbour * @param address the address * @param last_validation point in time when last validation was performed @@ -1128,12 +1129,12 @@ struct IterationContext */ static void send_validation_information (void *cls, - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Address *address, - struct GNUNET_TIME_Absolute last_validation, - struct GNUNET_TIME_Absolute valid_until, - struct GNUNET_TIME_Absolute next_validation, - enum GNUNET_TRANSPORT_ValidationState state) + const struct GNUNET_PeerIdentity *peer, + const struct GNUNET_HELLO_Address *address, + struct GNUNET_TIME_Absolute last_validation, + struct GNUNET_TIME_Absolute valid_until, + struct GNUNET_TIME_Absolute next_validation, + enum GNUNET_TRANSPORT_ValidationState state) { struct IterationContext *pc = cls; struct ValidationIterateResponseMessage *msg; @@ -1158,7 +1159,7 @@ send_validation_information (void *cls, /** * Output information of neighbours to the given client. * - * @param cls the 'struct PeerIterationContext' + * @param cls the `struct PeerIterationContext *` * @param peer identity of the neighbour * @param address the address * @param state current state this peer is in @@ -1168,12 +1169,12 @@ send_validation_information (void *cls, */ static void send_peer_information (void *cls, - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Address *address, - enum GNUNET_TRANSPORT_PeerState state, - struct GNUNET_TIME_Absolute state_timeout, - struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in, - struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out) + const struct GNUNET_PeerIdentity *peer, + const struct GNUNET_HELLO_Address *address, + enum GNUNET_TRANSPORT_PeerState state, + struct GNUNET_TIME_Absolute state_timeout, + struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in, + struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out) { struct IterationContext *pc = cls; struct PeerIterateResponseMessage *msg; @@ -1498,21 +1499,20 @@ GST_clients_broadcast_peer_notification (const struct GNUNET_PeerIdentity *peer, * @param state state of validation notification */ void -GST_clients_broadcast_validation_notification ( - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Address *address, - struct GNUNET_TIME_Absolute last_validation, - struct GNUNET_TIME_Absolute valid_until, - struct GNUNET_TIME_Absolute next_validation, - enum GNUNET_TRANSPORT_ValidationState state) +GST_clients_broadcast_validation_notification (const struct GNUNET_PeerIdentity *peer, + const struct GNUNET_HELLO_Address *address, + struct GNUNET_TIME_Absolute last_validation, + struct GNUNET_TIME_Absolute valid_until, + struct GNUNET_TIME_Absolute next_validation, + enum GNUNET_TRANSPORT_ValidationState state) { struct ValidationIterateResponseMessage *msg; struct MonitoringClient *mc; static struct GNUNET_PeerIdentity all_zeros; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Sending information about for validation entry for peer `%s' using address `%s'\n", - GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address) : ""); + "Sending information about for validation entry for peer `%s' using address `%s'\n", + GNUNET_i2s(peer), (address != NULL) ? GST_plugins_a2s (address) : ""); msg = compose_validation_iterate_response_message (peer, address); msg->last_validation = GNUNET_TIME_absolute_hton(last_validation); diff --git a/src/transport/gnunet-service-transport_validation.c b/src/transport/gnunet-service-transport_validation.c index 7c2675df3..6621ecc67 100644 --- a/src/transport/gnunet-service-transport_validation.c +++ b/src/transport/gnunet-service-transport_validation.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2010-2013 Christian Grothoff (and other contributing authors) + (C) 2010-2014 Christian Grothoff (and other contributing authors) GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -24,6 +24,7 @@ * @author Christian Grothoff */ #include "platform.h" +#include "gnunet-service-transport_clients.h" #include "gnunet-service-transport_validation.h" #include "gnunet-service-transport_plugins.h" #include "gnunet-service-transport_hello.h" @@ -324,7 +325,6 @@ static struct GNUNET_CONTAINER_MultiPeerMap *validation_map; */ static struct GNUNET_PEERINFO_NotifyContext *pnc; - /** * Minimum delay between to validations */ @@ -345,8 +345,6 @@ static unsigned int validations_fast_start_threshold; */ static struct GNUNET_TIME_Absolute validation_next; -static GST_ValidationChangedCallback validation_entry_changed_cb; -static void *validation_entry_changed_cb_cls; /** * Context for the validation entry match function. @@ -369,14 +367,16 @@ struct ValidationEntryMatchContext /** * Iterate over validation entries until a matching one is found. * - * @param cls the 'struct ValidationEntryMatchContext' + * @param cls the `struct ValidationEntryMatchContext *` * @param key peer identity (unused) - * @param value a 'struct ValidationEntry' to match - * @return GNUNET_YES if the entry does not match, - * GNUNET_NO if the entry does match + * @param value a `struct ValidationEntry *` to match + * @return #GNUNET_YES if the entry does not match, + * #GNUNET_NO if the entry does match */ static int -validation_entry_match (void *cls, const struct GNUNET_PeerIdentity * key, void *value) +validation_entry_match (void *cls, + const struct GNUNET_PeerIdentity *key, + void *value) { struct ValidationEntryMatchContext *vemc = cls; struct ValidationEntry *ve = value; @@ -389,22 +389,25 @@ validation_entry_match (void *cls, const struct GNUNET_PeerIdentity * key, void return GNUNET_YES; } + +/** + * A validation entry changed. Update the state and notify + * monitors. + * + * @param ve validation entry that changed + * @param state new state + */ static void -validation_entry_changed (struct ValidationEntry *ve, enum GNUNET_TRANSPORT_ValidationState state) +validation_entry_changed (struct ValidationEntry *ve, + enum GNUNET_TRANSPORT_ValidationState state) { - char *t_sent = GNUNET_strdup(GNUNET_STRINGS_absolute_time_to_string(ve->send_time)); - char *t_valid = GNUNET_strdup(GNUNET_STRINGS_absolute_time_to_string(ve->valid_until)); - char *t_next = GNUNET_strdup(GNUNET_STRINGS_absolute_time_to_string(ve->next_validation)); - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Validation entry changed for peer `%s' address `%s':\n\tSent: %s\n\tValid: %s\n\tNext: %s\n", - GNUNET_i2s(&ve->pid), GST_plugins_a2s(ve->address), - t_sent, t_valid, t_next); ve->state = state; - - GNUNET_free (t_sent); - GNUNET_free (t_valid); - GNUNET_free (t_next); - validation_entry_changed_cb (validation_entry_changed_cb_cls, &ve->pid, - ve->address, ve->send_time, ve->valid_until, ve->next_validation, state); + GST_clients_broadcast_validation_notification (&ve->pid, + ve->address, + ve->send_time, + ve->valid_until, + ve->next_validation, + state); } @@ -413,11 +416,13 @@ validation_entry_changed (struct ValidationEntry *ve, enum GNUNET_TRANSPORT_Vali * * @param cls (unused) * @param key peer identity (unused) - * @param value a 'struct ValidationEntry' to clean up - * @return GNUNET_YES (continue to iterate) + * @param value a `struct ValidationEntry *` to clean up + * @return #GNUNET_YES (continue to iterate) */ static int -cleanup_validation_entry (void *cls, const struct GNUNET_PeerIdentity * key, void *value) +cleanup_validation_entry (void *cls, + const struct GNUNET_PeerIdentity *key, + void *value) { struct ValidationEntry *ve = value; @@ -579,8 +584,8 @@ transmit_ping_if_allowed (void *cls, ret = -1; else { - GNUNET_assert (papi->send != NULL); - GNUNET_assert (papi->get_session != NULL); + GNUNET_assert (NULL != papi->send); + GNUNET_assert (NULL != papi->get_session); struct Session * session = papi->get_session(papi->cls, ve->address); if (session != NULL) @@ -863,12 +868,10 @@ process_peerinfo_hello (void *cls, const struct GNUNET_PeerIdentity *peer, /** * Start the validation subsystem. * - * @param cb callback to call with changes to valdidation entries - * @param cb_cls cls for the callback * @param max_fds maximum number of fds to use */ void -GST_validation_start (GST_ValidationChangedCallback cb, void *cb_cls, unsigned int max_fds) +GST_validation_start (unsigned int max_fds) { /** * Initialization for validation throttling @@ -886,9 +889,8 @@ GST_validation_start (GST_ValidationChangedCallback cb, void *cb_cls, unsigned i validation_delay.rel_value_us = (GNUNET_CONSTANTS_IDLE_CONNECTION_TIMEOUT.rel_value_us) / (max_fds / 2); validations_fast_start_threshold = (max_fds / 2); validations_running = 0; - validation_entry_changed_cb = cb; - validation_entry_changed_cb_cls = cb_cls; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Validation uses a fast start threshold of %u connections and a delay between of %s\n ", + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Validation uses a fast start threshold of %u connections and a delay between of %s\n ", validations_fast_start_threshold, GNUNET_STRINGS_relative_time_to_string (validation_delay, GNUNET_YES)); @@ -1243,7 +1245,7 @@ struct ValidateAddressContext * Iterator callback to go over all addresses and try to validate them * (unless blocked or already validated). * - * @param cls pointer to a `struct ValidateAddressContext` + * @param cls pointer to a `struct ValidateAddressContext *` * @param address the address * @param expiration expiration time * @return #GNUNET_OK (keep the address) @@ -1277,14 +1279,16 @@ validate_address_iterator (void *cls, /** * Add the validated peer address to the HELLO. * - * @param cls the 'struct ValidationEntry' with the validated address - * @param max space in buf + * @param cls the `struct ValidationEntry *` with the validated address + * @param max space in @a buf * @param buf where to add the address - * @return number of bytes written, GNUNET_SYSERR to signal the + * @return number of bytes written, #GNUNET_SYSERR to signal the * end of the iteration. */ static ssize_t -add_valid_peer_address (void *cls, size_t max, void *buf) +add_valid_peer_address (void *cls, + size_t max, + void *buf) { struct ValidationEntry *ve = cls; @@ -1375,7 +1379,7 @@ GST_validation_handle_pong (const struct GNUNET_PeerIdentity *sender, sig_res = GNUNET_SYSERR; do_verify = GNUNET_YES; - if (0 != GNUNET_TIME_absolute_get_remaining(ve->pong_sig_valid_until).rel_value_us) + if (0 != GNUNET_TIME_absolute_get_remaining (ve->pong_sig_valid_until).rel_value_us) { /* We have a cached and valid signature for this peer, * try to compare instead of verify */ @@ -1416,7 +1420,9 @@ GST_validation_handle_pong (const struct GNUNET_PeerIdentity *sender, GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Validation process successful for peer `%s' with plugin `%s' address `%s'\n", - GNUNET_i2s (sender), tname, GST_plugins_a2s (ve->address)); + GNUNET_i2s (sender), + tname, + GST_plugins_a2s (ve->address)); /* validity achieved, remember it! */ ve->expecting_pong = GNUNET_NO; ve->valid_until = GNUNET_TIME_relative_to_absolute (HELLO_ADDRESS_EXPIRATION); @@ -1536,7 +1542,9 @@ struct IteratorContext * @return #GNUNET_OK (continue to iterate) */ static int -iterate_addresses (void *cls, const struct GNUNET_PeerIdentity *key, void *value) +iterate_addresses (void *cls, + const struct GNUNET_PeerIdentity *key, + void *value) { struct IteratorContext *ic = cls; struct ValidationEntry *ve = value; @@ -1553,7 +1561,7 @@ iterate_addresses (void *cls, const struct GNUNET_PeerIdentity *key, void *value * * @param target peer information is requested for * @param cb function to call; will not be called after this function returns - * @param cb_cls closure for 'cb' + * @param cb_cls closure for @a cb */ void GST_validation_get_addresses (const struct GNUNET_PeerIdentity *target, @@ -1662,11 +1670,12 @@ struct ValidationIteratorContext GST_ValidationChangedCallback cb; /** - * Closure for 'cb'. + * Closure for @e cb. */ void *cb_cls; }; + static int validation_entries_iterate (void *cls, const struct GNUNET_PeerIdentity *key, @@ -1690,7 +1699,8 @@ validation_entries_iterate (void *cls, * @param cb_cls closure for cb */ void -GST_validation_iterate (GST_ValidationChangedCallback cb, void *cb_cls) +GST_validation_iterate (GST_ValidationChangedCallback cb, + void *cb_cls) { struct ValidationIteratorContext ic; @@ -1698,7 +1708,9 @@ GST_validation_iterate (GST_ValidationChangedCallback cb, void *cb_cls) return; /* can happen during shutdown */ ic.cb = cb; ic.cb_cls = cb_cls; - GNUNET_CONTAINER_multipeermap_iterate (validation_map, &validation_entries_iterate, &ic); + GNUNET_CONTAINER_multipeermap_iterate (validation_map, + &validation_entries_iterate, + &ic); } /* end of file gnunet-service-transport_validation.c */ diff --git a/src/transport/gnunet-service-transport_validation.h b/src/transport/gnunet-service-transport_validation.h index 71c095c1b..df2ef0ee8 100644 --- a/src/transport/gnunet-service-transport_validation.h +++ b/src/transport/gnunet-service-transport_validation.h @@ -31,36 +31,13 @@ #include "gnunet_util_lib.h" #include "gnunet_hello_lib.h" -/** - * Function called to notify transport users that a neighbour peer changed its - * active address. - * - * @param cls closure - * @param peer peer this update is about (never NULL) - * @param address address (never NULL) - * @param last_validation point in time when last validation was performed - * @param valid_until point in time how long address is valid - * @param next_validation point in time when next validation will be performed - * @param state state of validation notification - */ -typedef void (*GST_ValidationChangedCallback) (void *cls, - const struct GNUNET_PeerIdentity *peer, - const struct GNUNET_HELLO_Address *address, - struct GNUNET_TIME_Absolute last_validation, - struct GNUNET_TIME_Absolute valid_until, - struct GNUNET_TIME_Absolute next_validation, - enum GNUNET_TRANSPORT_ValidationState state); - - /** * Start the validation subsystem. * - * @param cb callback to call with changes to valdidation entries - * @param cb_cls cls for the callback * @param max_fds maximum number of fds to use */ void -GST_validation_start (GST_ValidationChangedCallback cb, void *cb_cls, unsigned int max_fds); +GST_validation_start (unsigned int max_fds); /** @@ -77,8 +54,8 @@ GST_validation_stop (void); * * @param address the address * @param session the session - * @param in_use GNUNET_YES if we are now using the address for a connection, - * GNUNET_NO if we are no longer using the address for a connection + * @param in_use #GNUNET_YES if we are now using the address for a connection, + * #GNUNET_NO if we are no longer using the address for a connection */ void GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, @@ -101,15 +78,39 @@ GST_validation_get_address_latency (const struct GNUNET_PeerIdentity *sender, const struct GNUNET_HELLO_Address *address, struct Session *session); + +/** + * Function called to notify transport users that a neighbour peer changed its + * active address. + * + * @param cls closure + * @param peer peer this update is about (never NULL) + * @param address address (never NULL) + * @param last_validation point in time when last validation was performed + * @param valid_until point in time how long address is valid + * @param next_validation point in time when next validation will be performed + * @param state state of validation notification + */ +typedef void +(*GST_ValidationChangedCallback) (void *cls, + const struct GNUNET_PeerIdentity *peer, + const struct GNUNET_HELLO_Address *address, + struct GNUNET_TIME_Absolute last_validation, + struct GNUNET_TIME_Absolute valid_until, + struct GNUNET_TIME_Absolute next_validation, + enum GNUNET_TRANSPORT_ValidationState state); + + /** * Iterate over all iteration entries * * @param cb function to call - * @param cb_cls closure for cb + * @param cb_cls closure for @a cb */ void GST_validation_iterate (GST_ValidationChangedCallback cb, void *cb_cls); + /** * We've received a PING. If appropriate, generate a PONG. * @@ -163,15 +164,12 @@ GST_validation_handle_hello (const struct GNUNET_MessageHeader *hello); * otherwise a time in the future if we're currently denying re-validation * @param address the address */ -typedef void (*GST_ValidationAddressCallback) (void *cls, - const struct - GNUNET_CRYPTO_EddsaPublicKey *public_key, - struct GNUNET_TIME_Absolute - valid_until, - struct GNUNET_TIME_Absolute - validation_block, - const struct GNUNET_HELLO_Address - * address); +typedef void +(*GST_ValidationAddressCallback) (void *cls, + const struct GNUNET_CRYPTO_EddsaPublicKey *public_key, + struct GNUNET_TIME_Absolute valid_until, + struct GNUNET_TIME_Absolute validation_block, + const struct GNUNET_HELLO_Address *address); /** @@ -179,7 +177,7 @@ typedef void (*GST_ValidationAddressCallback) (void *cls, * * @param target peer information is requested for * @param cb function to call; will not be called after this function returns - * @param cb_cls closure for 'cb' + * @param cb_cls closure for @a cb */ void GST_validation_get_addresses (const struct GNUNET_PeerIdentity *target, diff --git a/src/transport/gnunet-transport.c b/src/transport/gnunet-transport.c index 80a3e2d15..0fef7784e 100644 --- a/src/transport/gnunet-transport.c +++ b/src/transport/gnunet-transport.c @@ -1684,19 +1684,22 @@ testservice_task (void *cls, int result) monitored_peers = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO); address_resolution_in_progress = GNUNET_YES; pic = GNUNET_TRANSPORT_monitor_peers (cfg, (NULL == cpid) ? NULL : &pid, - GNUNET_NO, TIMEOUT, &process_peer_monitoring_cb, (void *) cfg); + GNUNET_NO, TIMEOUT, + &process_peer_monitoring_cb, (void *) cfg); } else if (iterate_validation) /* -d: Print information about validations */ { vic = GNUNET_TRANSPORT_monitor_validation_entries (cfg, - (NULL == cpid) ? NULL : &pid, - GNUNET_YES, TIMEOUT, &process_validation_cb, (void *) cfg); + (NULL == cpid) ? NULL : &pid, + GNUNET_YES, TIMEOUT, + &process_validation_cb, (void *) cfg); } else if (monitor_validation) /* -f: Print information about validations continuously */ { vic = GNUNET_TRANSPORT_monitor_validation_entries (cfg, - (NULL == cpid) ? NULL : &pid, - GNUNET_NO, TIMEOUT, &process_validation_cb, (void *) cfg); + (NULL == cpid) ? NULL : &pid, + GNUNET_NO, TIMEOUT, + &process_validation_cb, (void *) cfg); } else if (monitor_connects) /* -e : Monitor (dis)connect events continuously */ { @@ -1706,7 +1709,9 @@ testservice_task (void *cls, int result) &monitor_notify_disconnect); if (NULL == handle) { - FPRINTF (stderr, "%s", _("Failed to connect to transport service\n")); + FPRINTF (stderr, + "%s", + _("Failed to connect to transport service\n")); ret = 1; return; } @@ -1721,7 +1726,6 @@ testservice_task (void *cls, int result) end = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task, NULL); - } diff --git a/src/transport/transport.h b/src/transport/transport.h index cbbefb7e1..ceeaf9c0d 100644 --- a/src/transport/transport.h +++ b/src/transport/transport.h @@ -416,17 +416,20 @@ struct ValidationIterateResponseMessage uint32_t state GNUNET_PACKED; /** - * FIXME + * At what time did we successfully validate the address last. + * Will be NEVER if the address failed validation. */ struct GNUNET_TIME_AbsoluteNBO last_validation; /** - * FIXME + * Until when is the address believed to be valid. + * Will be ZERO if the address is not belived to be valid. */ struct GNUNET_TIME_AbsoluteNBO valid_until; /** - * FIXME + * When will we next try to validate the address (typically + * done before @e valid_until happens). */ struct GNUNET_TIME_AbsoluteNBO next_validation; }; diff --git a/src/transport/transport_api_monitoring.c b/src/transport/transport_api_monitoring.c index 31f3d4f90..b44bf51b8 100644 --- a/src/transport/transport_api_monitoring.c +++ b/src/transport/transport_api_monitoring.c @@ -516,9 +516,12 @@ val_response_processor (void *cls, GNUNET_break (0); if (val_ctx->one_shot) { - val_ctx->cb (val_ctx->cb_cls, NULL, NULL, - GNUNET_TIME_UNIT_ZERO_ABS, GNUNET_TIME_UNIT_ZERO_ABS, - GNUNET_TIME_UNIT_ZERO_ABS, GNUNET_TRANSPORT_VS_NONE); + val_ctx->cb (val_ctx->cb_cls, + NULL, NULL, + GNUNET_TIME_UNIT_ZERO_ABS, + GNUNET_TIME_UNIT_ZERO_ABS, + GNUNET_TIME_UNIT_ZERO_ABS, + GNUNET_TRANSPORT_VS_NONE); GNUNET_TRANSPORT_monitor_validation_entries_cancel (val_ctx); } else @@ -530,12 +533,16 @@ val_response_processor (void *cls, /* notify client */ address = GNUNET_HELLO_address_allocate (&vr_msg->peer, - transport_name, addr, alen, ntohl(vr_msg->local_address_info)); - val_ctx->cb (val_ctx->cb_cls, &vr_msg->peer, address, - GNUNET_TIME_absolute_ntoh(vr_msg->last_validation), - GNUNET_TIME_absolute_ntoh(vr_msg->valid_until), - GNUNET_TIME_absolute_ntoh(vr_msg->next_validation), - ntohl(vr_msg->state)); + transport_name, + addr, alen, + ntohl (vr_msg->local_address_info)); + val_ctx->cb (val_ctx->cb_cls, + &vr_msg->peer, + address, + GNUNET_TIME_absolute_ntoh (vr_msg->last_validation), + GNUNET_TIME_absolute_ntoh (vr_msg->valid_until), + GNUNET_TIME_absolute_ntoh (vr_msg->next_validation), + ntohl(vr_msg->state)); GNUNET_HELLO_address_free (address); } /* expect more replies */ @@ -777,20 +784,19 @@ GNUNET_TRANSPORT_monitor_peers_cancel (struct GNUNET_TRANSPORT_PeerMonitoringCon * @param cfg configuration to use * @param peer a specific peer identity to obtain validation entries for, * NULL for all peers - * @param one_shot GNUNET_YES to return all entries and then end (with NULL+NULL), - * GNUNET_NO to monitor validation entries continuously + * @param one_shot #GNUNET_YES to return all entries and then end (with NULL+NULL), + * #GNUNET_NO to monitor validation entries continuously * @param timeout how long is the lookup allowed to take at most * @param validation_callback function to call with the results * @param validation_callback_cls closure for peer_address_callback */ struct GNUNET_TRANSPORT_ValidationMonitoringContext * -GNUNET_TRANSPORT_monitor_validation_entries (const struct - GNUNET_CONFIGURATION_Handle *cfg, - const struct GNUNET_PeerIdentity *peer, - int one_shot, - struct GNUNET_TIME_Relative timeout, - GNUNET_TRANSPORT_ValidationIterateCallback validation_callback, - void *validation_callback_cls) +GNUNET_TRANSPORT_monitor_validation_entries (const struct GNUNET_CONFIGURATION_Handle *cfg, + const struct GNUNET_PeerIdentity *peer, + int one_shot, + struct GNUNET_TIME_Relative timeout, + GNUNET_TRANSPORT_ValidationIterateCallback validation_callback, + void *validation_callback_cls) { struct GNUNET_TRANSPORT_ValidationMonitoringContext *val_ctx; struct GNUNET_CLIENT_Connection *client; -- cgit v1.2.3