From: Karsten Loesing Date: Mon, 9 Aug 2010 13:25:09 +0000 (+0200) Subject: Correctly report written bytes on linked connections. X-Git-Tag: tor-0.2.2.15-alpha~9^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58b6195455bcb173d260558e84e642c52d344c2f;p=thirdparty%2Ftor.git Correctly report written bytes on linked connections. --- diff --git a/changes/bugfoundin1790 b/changes/bugfoundin1790 new file mode 100644 index 0000000000..0a18fe181d --- /dev/null +++ b/changes/bugfoundin1790 @@ -0,0 +1,4 @@ + o Minor bugfixes: + - Correctly report written bytes on linked connections. Found while + implementing 1790. Bugfix on 0.2.2.4-alpha. + diff --git a/src/or/connection.c b/src/or/connection.c index 5438cf7d0d..99ce7fffef 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -2409,8 +2409,12 @@ loop_again: connection_t *linked = conn->linked_conn; if (n_read) { - /* Probably a no-op, but hey. */ - connection_buckets_decrement(linked, approx_time(), n_read, 0); + /* Probably a no-op, since linked conns typically don't count for + * bandwidth rate limiting. But do it anyway so we can keep stats + * accurately. Note that since we read the bytes from conn, and + * we're writing the bytes onto the linked connection, we count + * these as written bytes. */ + connection_buckets_decrement(linked, approx_time(), 0, n_read); if (connection_flushed_some(linked) < 0) connection_mark_for_close(linked);