diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-04-06 11:30:35 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-04-06 11:30:35 +0000 |
commit | ca1869a6d9604fb4c4a55b908a28898bd2b4e9f2 (patch) | |
tree | dd9905f865c24267b1bb5b6996f7491dc0402435 /src/util/bandwidth.c | |
parent | 6b2588d92b23b0b59a1bc87a739fd7b400c70c9f (diff) | |
download | gnunet-ca1869a6d9604fb4c4a55b908a28898bd2b4e9f2.tar.gz gnunet-ca1869a6d9604fb4c4a55b908a28898bd2b4e9f2.zip |
rounding
Diffstat (limited to 'src/util/bandwidth.c')
-rw-r--r-- | src/util/bandwidth.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/util/bandwidth.c b/src/util/bandwidth.c index 45f702f41..9ba6bd5ec 100644 --- a/src/util/bandwidth.c +++ b/src/util/bandwidth.c | |||
@@ -84,10 +84,10 @@ GNUNET_BANDWIDTH_value_get_available_until (struct GNUNET_BANDWIDTH_Value32NBO b | |||
84 | #if DEBUG_BANDWIDTH | 84 | #if DEBUG_BANDWIDTH |
85 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 85 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
86 | "Bandwidth has %llu bytes available until deadline in %llums\n", | 86 | "Bandwidth has %llu bytes available until deadline in %llums\n", |
87 | (unsigned long long) (b * deadline.value / 1000LL), | 87 | (unsigned long long) ((b * deadline.value + 500LL) / 1000LL), |
88 | deadline.value); | 88 | deadline.value); |
89 | #endif | 89 | #endif |
90 | return b * deadline.value / 1000LL; | 90 | return (b * deadline.value + 500LL) / 1000LL; |
91 | } | 91 | } |
92 | 92 | ||
93 | 93 | ||
@@ -177,7 +177,7 @@ update_tracker (struct GNUNET_BANDWIDTH_Tracker *av) | |||
177 | 177 | ||
178 | now = GNUNET_TIME_absolute_get (); | 178 | now = GNUNET_TIME_absolute_get (); |
179 | delta_time = now.value - av->last_update__.value; | 179 | delta_time = now.value - av->last_update__.value; |
180 | delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__)) / 1000LL; | 180 | delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__) + 500LL) / 1000LL; |
181 | if (av->consumption_since_last_update__ >= delta_avail) | 181 | if (av->consumption_since_last_update__ >= delta_avail) |
182 | { | 182 | { |
183 | av->consumption_since_last_update__ -= delta_avail; | 183 | av->consumption_since_last_update__ -= delta_avail; |
@@ -186,7 +186,7 @@ update_tracker (struct GNUNET_BANDWIDTH_Tracker *av) | |||
186 | else | 186 | else |
187 | { | 187 | { |
188 | left_bytes = delta_avail - av->consumption_since_last_update__; | 188 | left_bytes = delta_avail - av->consumption_since_last_update__; |
189 | avail_per_ms = ((unsigned long long) av->available_bytes_per_s__) / 1000LL; | 189 | avail_per_ms = ((unsigned long long) av->available_bytes_per_s__ + 500LL) / 1000LL; |
190 | if (avail_per_ms > 0) | 190 | if (avail_per_ms > 0) |
191 | { | 191 | { |
192 | left_time_ms = left_bytes / avail_per_ms; | 192 | left_time_ms = left_bytes / avail_per_ms; |
@@ -266,7 +266,7 @@ GNUNET_BANDWIDTH_tracker_consume (struct GNUNET_BANDWIDTH_Tracker *av, | |||
266 | } | 266 | } |
267 | else | 267 | else |
268 | { | 268 | { |
269 | av->last_update__.value -= (size * av->available_bytes_per_s__) / 1000LL; | 269 | av->last_update__.value -= (size * av->available_bytes_per_s__ + 500LL) / 1000LL; |
270 | update_tracker (av); | 270 | update_tracker (av); |
271 | } | 271 | } |
272 | return GNUNET_NO; | 272 | return GNUNET_NO; |
@@ -304,7 +304,7 @@ GNUNET_BANDWIDTH_tracker_get_delay (struct GNUNET_BANDWIDTH_Tracker *av, | |||
304 | update_tracker (av); | 304 | update_tracker (av); |
305 | now = GNUNET_TIME_absolute_get (); | 305 | now = GNUNET_TIME_absolute_get (); |
306 | delta_time = now.value - av->last_update__.value; | 306 | delta_time = now.value - av->last_update__.value; |
307 | delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__)) / 1000LL; | 307 | delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__) + 500LL) / 1000LL; |
308 | if (delta_avail >= size) | 308 | if (delta_avail >= size) |
309 | { | 309 | { |
310 | #if DEBUG_BANDWIDTH | 310 | #if DEBUG_BANDWIDTH |