aboutsummaryrefslogtreecommitdiff
path: root/src/core/gnunet-service-core.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-10-10 08:38:23 +0000
committerChristian Grothoff <christian@grothoff.org>2011-10-10 08:38:23 +0000
commit61214906db3935fffcaa0170d1dd4d909c9c5c09 (patch)
treece2476ebef7db67ea445dcd2ce1e4a0d191db1b3 /src/core/gnunet-service-core.c
parentf0f1ce0017db9c6a06d1fdd8650ad01e11e8201b (diff)
downloadgnunet-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.c22
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)