aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2006-12-13 22:46:42 +0000
committerNick Mathewson <nickm@torproject.org>2006-12-13 22:46:42 +0000
commit43e06eba8baab0fec003841f2fe6baafbe506e39 (patch)
treef2d7eae98ddc44dc1217ee4de00685a88cced18e /src/common
parent5cce710e2b86ffcaf3bad81b95ba94f26f1d2838 (diff)
downloadtor-43e06eba8baab0fec003841f2fe6baafbe506e39.tar
tor-43e06eba8baab0fec003841f2fe6baafbe506e39.tar.gz
r11566@Kushana: nickm | 2006-12-13 17:46:24 -0500
Try to fix an assert failure in new write limiting code: make buffers.c aware of previous "forced" write sizes from tortls. svn:r9105
Diffstat (limited to 'src/common')
-rw-r--r--src/common/tortls.c7
-rw-r--r--src/common/tortls.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 7f601258c..51c4abe24 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -850,7 +850,14 @@ tor_tls_get_pending_bytes(tor_tls_t *tls)
return 0;
#endif
return SSL_pending(tls->ssl);
+}
+/** If <b>tls</b> requires that the next write be of a particular size,
+ * return that size. Otherwise, return 0. */
+size_t
+tor_tls_get_forced_write_size(tor_tls_t *tls)
+{
+ return tls->wantwrite_n;
}
/** Return the number of bytes read across the underlying socket. */
diff --git a/src/common/tortls.h b/src/common/tortls.h
index 2569abf79..dea072a33 100644
--- a/src/common/tortls.h
+++ b/src/common/tortls.h
@@ -41,6 +41,7 @@ int tor_tls_write(tor_tls_t *tls, char *cp, size_t n);
int tor_tls_handshake(tor_tls_t *tls);
int tor_tls_shutdown(tor_tls_t *tls);
int tor_tls_get_pending_bytes(tor_tls_t *tls);
+size_t tor_tls_get_forced_write_size(tor_tls_t *tls);
unsigned long tor_tls_get_n_bytes_read(tor_tls_t *tls);
unsigned long tor_tls_get_n_bytes_written(tor_tls_t *tls);