diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-03-20 20:06:51 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-03-20 20:06:51 +0000 |
commit | b27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf (patch) | |
tree | 4cf6c73df9fe18d181f5d4d4e49d2ddd28b8f9be /src/transport/gnunet-service-transport_neighbours.c | |
parent | 5cd93ed2b702e40972269970ad298a86c83469db (diff) | |
download | gnunet-b27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf.tar.gz gnunet-b27b2bf400b357af5eaf48b06e0f4c6f51ad0ecf.zip |
when switching addresses in connect_sent: no blacklist check required, switch directly and send new connect
Diffstat (limited to 'src/transport/gnunet-service-transport_neighbours.c')
-rw-r--r-- | src/transport/gnunet-service-transport_neighbours.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c index 11520a5f4..374dc7109 100644 --- a/src/transport/gnunet-service-transport_neighbours.c +++ b/src/transport/gnunet-service-transport_neighbours.c | |||
@@ -2661,13 +2661,20 @@ switch_address_bl_check_cont (void *cls, | |||
2661 | blc_ctx->address, blc_ctx->session); | 2661 | blc_ctx->address, blc_ctx->session); |
2662 | break; | 2662 | break; |
2663 | case GNUNET_TRANSPORT_PS_CONNECT_SENT: | 2663 | case GNUNET_TRANSPORT_PS_CONNECT_SENT: |
2664 | /* waiting on CONNECT_ACK, send ACK if one is pending */ | ||
2665 | if (1 == n->send_connect_ack) | ||
2666 | { | ||
2667 | n->send_connect_ack = 2; | ||
2668 | send_session_connect_ack_message (n->primary_address.address, | ||
2669 | n->primary_address.session, | ||
2670 | n->connect_ack_timestamp); | ||
2671 | } | ||
2664 | /* ATS suggests a different address, switch again */ | 2672 | /* ATS suggests a different address, switch again */ |
2665 | set_primary_address (n, blc_ctx->address, blc_ctx->session, | 2673 | set_primary_address (n, blc_ctx->address, blc_ctx->session, |
2666 | blc_ctx->bandwidth_in, blc_ctx->bandwidth_out, GNUNET_NO); | 2674 | blc_ctx->bandwidth_in, blc_ctx->bandwidth_out, GNUNET_NO); |
2667 | set_state_and_timeout (n, GNUNET_TRANSPORT_PS_INIT_BLACKLIST, | 2675 | set_state_and_timeout (n, GNUNET_TRANSPORT_PS_CONNECT_SENT, |
2668 | GNUNET_TIME_relative_to_absolute (BLACKLIST_RESPONSE_TIMEOUT)); | 2676 | GNUNET_TIME_relative_to_absolute (SETUP_CONNECTION_TIMEOUT)); |
2669 | check_blacklist (&n->id, n->connect_ack_timestamp, | 2677 | send_session_connect (&n->primary_address); |
2670 | blc_ctx->address, blc_ctx->session); | ||
2671 | break; | 2678 | break; |
2672 | case GNUNET_TRANSPORT_PS_CONNECT_RECV_ATS: | 2679 | case GNUNET_TRANSPORT_PS_CONNECT_RECV_ATS: |
2673 | set_primary_address (n, blc_ctx->address, blc_ctx->session, | 2680 | set_primary_address (n, blc_ctx->address, blc_ctx->session, |