X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftransport%2Fgnunet-service-transport_validation.h;h=53528437aedcc01e6acf8ca3557ae3baf33a7e34;hb=556ccd6d483b3678867c3829e6979c307df04450;hp=f5282d4e9e8de02146883c6cb428a41bfba05eb3;hpb=71ea5bd2d05058008e604ffd42993be9c7250e04;p=oweals%2Fgnunet.git diff --git a/src/transport/gnunet-service-transport_validation.h b/src/transport/gnunet-service-transport_validation.h index f5282d4e9..53528437a 100644 --- a/src/transport/gnunet-service-transport_validation.h +++ b/src/transport/gnunet-service-transport_validation.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2010,2011 Christian Grothoff (and other contributing authors) + Copyright (C) 2010,2011 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 @@ -14,8 +14,8 @@ 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. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** @@ -31,12 +31,13 @@ #include "gnunet_util_lib.h" #include "gnunet_hello_lib.h" - /** * Start the validation subsystem. + * + * @param max_fds maximum number of fds to use */ void -GST_validation_start (void); +GST_validation_start (unsigned int max_fds); /** @@ -51,32 +52,13 @@ GST_validation_stop (void); * Based on this, the validation module will measure latency for the * address more or less often. * - * @param sender peer FIXME: redundant! - * @param address the address - * @param session 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 address the address that we are now using (or not) + * @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_PeerIdentity *sender, - const struct GNUNET_HELLO_Address *address, - struct Session *session, int in_use); - - -/** - * Query validation about the latest observed latency on a given - * address. - * - * @param sender peer - * @param address the address - * @param session session - * @return observed latency of the address, FOREVER if the address was - * never successfully validated - */ -struct GNUNET_TIME_Relative -GST_validation_get_address_latency (const struct GNUNET_PeerIdentity *sender, - const struct GNUNET_HELLO_Address *address, - struct Session *session); +GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address, + int in_use); /** @@ -86,12 +68,13 @@ GST_validation_get_address_latency (const struct GNUNET_PeerIdentity *sender, * @param hdr the PING * @param sender_address address of the sender, NULL if we did not initiate * @param session session we got the PING from + * @return #GNUNET_OK if the message was fine, #GNUNET_SYSERR on serious error */ -void +int GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender, const struct GNUNET_MessageHeader *hdr, const struct GNUNET_HELLO_Address *sender_address, - struct Session *session); + struct GNUNET_ATS_Session *session); /** @@ -100,8 +83,9 @@ GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender, * * @param sender peer sending the PONG * @param hdr the PONG + * @return #GNUNET_OK if the message was fine, #GNUNET_SYSERR on serious error */ -void +int GST_validation_handle_pong (const struct GNUNET_PeerIdentity *sender, const struct GNUNET_MessageHeader *hdr); @@ -111,11 +95,21 @@ GST_validation_handle_pong (const struct GNUNET_PeerIdentity *sender, * validation. * * @param hello the HELLO we received + * @return #GNUNET_OK if the message was fine, #GNUNET_SYSERR on serious error */ -void +int GST_validation_handle_hello (const struct GNUNET_MessageHeader *hello); +/** + * Validate an individual address. + * + * @param address address we should try to validate + */ +void +GST_validation_handle_address (const struct GNUNET_HELLO_Address *address); + + /** * Function called for each address (or address status change) that * the validation module is aware of (for the given target). @@ -129,16 +123,11 @@ 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_RsaPublicKeyBinaryEncoded - * 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, + struct GNUNET_TIME_Absolute valid_until, + struct GNUNET_TIME_Absolute validation_block, + const struct GNUNET_HELLO_Address *address); /** @@ -146,7 +135,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,