From b08879fa56e3c3979466650ae07c55ac8873fb28 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 12 Feb 2015 14:25:33 +0000 Subject: reset blocking time for addresses upon successful connection --- src/transport/gnunet-service-transport_ats.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/transport/gnunet-service-transport_ats.c') diff --git a/src/transport/gnunet-service-transport_ats.c b/src/transport/gnunet-service-transport_ats.c index d204a8950..5301090ff 100644 --- a/src/transport/gnunet-service-transport_ats.c +++ b/src/transport/gnunet-service-transport_ats.c @@ -344,6 +344,32 @@ GST_ats_block_address (const struct GNUNET_HELLO_Address *address, } +/** + * Reset address blocking time. Resets the exponential + * back-off timer for this address to zero. Done when + * an address was used to create a successful connection. + * + * @param address the address to reset the blocking timer + * @param session the session (can be NULL) + */ +void +GST_ats_block_reset (const struct GNUNET_HELLO_Address *address, + struct Session *session) +{ + struct AddressInfo *ai; + + ai = find_ai (address, session); + if (NULL == ai) + { + GNUNET_break (0); + return; + } + /* address is in successful use, so it should not be blocked right now */ + GNUNET_break (NULL == ai->unblock_task); + ai->back_off = GNUNET_TIME_UNIT_ZERO; +} + + /** * Notify ATS about the a new inbound address. We may already * know the address (as this is called each time we receive -- cgit v1.2.3