diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-03-14 17:48:45 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-03-14 17:48:45 -0400 |
commit | 1d36a8e9ae766f67097f4c5e522c33ff0c4a693f (patch) | |
tree | 51e218c8c2ca7077b49032dc4a3e48d44430c861 /src/or/connection.c | |
parent | b97d9abd0940037b249a1ee56724dbfed904263b (diff) | |
download | tor-1d36a8e9ae766f67097f4c5e522c33ff0c4a693f.tar.gz tor-1d36a8e9ae766f67097f4c5e522c33ff0c4a693f.zip |
Consider sending stream-level SENDME cells on partial flushes.
Right now, we only consider sending stream-level SENDME cells when we
have completely flushed a connection_edge's outbuf, or when it sends
us a DATA cell. Neither of these is ideal for throughput.
This patch changes the behavior so we now call
connection_edge_consider_sending_sendme when we flush _some_ data from
an edge outbuf.
Fix for bug 2756; bugfix on svn r152.
Diffstat (limited to 'src/or/connection.c')
-rw-r--r-- | src/or/connection.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/or/connection.c b/src/or/connection.c index fd30ac8cb6..86ed45e18e 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -3245,6 +3245,8 @@ connection_flushed_some(connection_t *conn) r = connection_dirserv_flushed_some(TO_DIR_CONN(conn)); } else if (conn->type == CONN_TYPE_OR) { r = connection_or_flushed_some(TO_OR_CONN(conn)); + } else if (CONN_IS_EDGE(conn)) { + r = connection_edge_flushed_some(TO_EDGE_CONN(conn)); } conn->in_flushed_some = 0; return r; |