diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-10-10 08:38:23 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-10-10 08:38:23 +0000 |
commit | 61214906db3935fffcaa0170d1dd4d909c9c5c09 (patch) | |
tree | ce2476ebef7db67ea445dcd2ce1e4a0d191db1b3 /src/core/gnunet-service-core.c | |
parent | f0f1ce0017db9c6a06d1fdd8650ad01e11e8201b (diff) | |
download | gnunet-61214906db3935fffcaa0170d1dd4d909c9c5c09.tar.gz gnunet-61214906db3935fffcaa0170d1dd4d909c9c5c09.zip |
fix: update available recv window bw if bw_in changes
Diffstat (limited to 'src/core/gnunet-service-core.c')
-rw-r--r-- | src/core/gnunet-service-core.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 34b35f92a..ae424edad 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c | |||
@@ -1649,22 +1649,6 @@ handle_client_request_info (void *cls, struct GNUNET_SERVER_Client *client, | |||
1649 | if ((n != NULL) && (GNUNET_YES == n->is_connected)) | 1649 | if ((n != NULL) && (GNUNET_YES == n->is_connected)) |
1650 | { | 1650 | { |
1651 | want_reserv = ntohl (rcm->reserve_inbound); | 1651 | want_reserv = ntohl (rcm->reserve_inbound); |
1652 | if (n->bw_out_internal_limit.value__ != rcm->limit_outbound.value__) | ||
1653 | { | ||
1654 | n->bw_out_internal_limit = rcm->limit_outbound; | ||
1655 | if (n->bw_out.value__ != | ||
1656 | GNUNET_BANDWIDTH_value_min (n->bw_out_internal_limit, | ||
1657 | n->bw_out_external_limit).value__) | ||
1658 | { | ||
1659 | n->bw_out = | ||
1660 | GNUNET_BANDWIDTH_value_min (n->bw_out_internal_limit, | ||
1661 | n->bw_out_external_limit); | ||
1662 | GNUNET_BANDWIDTH_tracker_update_quota (&n->available_recv_window, | ||
1663 | n->bw_out); | ||
1664 | GNUNET_TRANSPORT_set_quota (transport, &n->peer, n->bw_in, n->bw_out); | ||
1665 | handle_peer_status_change (n); | ||
1666 | } | ||
1667 | } | ||
1668 | if (want_reserv < 0) | 1652 | if (want_reserv < 0) |
1669 | { | 1653 | { |
1670 | got_reserv = want_reserv; | 1654 | got_reserv = want_reserv; |
@@ -4313,8 +4297,12 @@ neighbour_quota_update (void *cls, | |||
4313 | if ((n->bw_in.value__ != q_in.value__) || | 4297 | if ((n->bw_in.value__ != q_in.value__) || |
4314 | (n->bw_out.value__ != q_out_min.value__)) | 4298 | (n->bw_out.value__ != q_out_min.value__)) |
4315 | { | 4299 | { |
4316 | if (n->bw_in.value__ != q_in.value__) | 4300 | if (n->bw_in.value__ != q_in.value__) |
4301 | { | ||
4317 | n->bw_in = q_in; | 4302 | n->bw_in = q_in; |
4303 | GNUNET_BANDWIDTH_tracker_update_quota (&n->available_recv_window, | ||
4304 | n->bw_in); | ||
4305 | } | ||
4318 | if (n->bw_out.value__ != q_out_min.value__) | 4306 | if (n->bw_out.value__ != q_out_min.value__) |
4319 | n->bw_out = q_out_min; | 4307 | n->bw_out = q_out_min; |
4320 | if (GNUNET_YES == n->is_connected) | 4308 | if (GNUNET_YES == n->is_connected) |