From 0bc3d9e7ebc9a770653382a9de6dc079f8b27a75 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Fri, 11 Nov 2011 12:06:05 +0000 Subject: [PATCH] --- .../gnunet-service-transport_neighbours.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c index 8e4a13683..f2cc3b4fd 100644 --- a/src/transport/gnunet-service-transport_neighbours.c +++ b/src/transport/gnunet-service-transport_neighbours.c @@ -1239,7 +1239,15 @@ send_switch_address_continuation (void *cls, /* Tell ATS that switching addresses was successful */ switch (n->state) { case S_CONNECTED: - GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); + if (n->address_state == FRESH) + { + GST_validation_set_address_use (&n->id, + cc->address, + cc->session, + GNUNET_YES); + GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES); + n->address_state = USED; + } break; case S_FAST_RECONNECT: #if DEBUG_TRANSPORT @@ -1257,9 +1265,9 @@ send_switch_address_continuation (void *cls, cc->address, cc->session, GNUNET_YES); + GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES); n->address_state = USED; } - GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES); if (n->keepalive_task == GNUNET_SCHEDULER_NO_TASK) n->keepalive_task = GNUNET_SCHEDULER_add_now (&neighbour_keepalive_task, n); @@ -2304,9 +2312,9 @@ GST_neighbours_handle_connect_ack (const struct GNUNET_MessageHeader *message, n->address, n->session, GNUNET_YES); + GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); n->address_state = USED; } - GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); GST_neighbours_set_incoming_quota (&n->id, n->bandwidth_in); @@ -2392,10 +2400,8 @@ GST_neighbours_handle_ack (const struct GNUNET_MessageHeader *message, GNUNET_ATS_address_update (GST_ats, address, session, ats, ats_count); GNUNET_assert (n->address != NULL); change_state (n, S_CONNECTED); - GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); GST_neighbours_set_incoming_quota (&n->id, n->bandwidth_in); - if (n->keepalive_task == GNUNET_SCHEDULER_NO_TASK) n->keepalive_task = GNUNET_SCHEDULER_add_now (&neighbour_keepalive_task, n); if (n->address_state == FRESH) @@ -2404,6 +2410,7 @@ GST_neighbours_handle_ack (const struct GNUNET_MessageHeader *message, n->address, n->session, GNUNET_YES); + GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES); n->address_state = USED; } neighbours_connected++; -- 2.25.1