From ebf82199dfc91c437b304649829fb0a259726d5c Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 17 Nov 2011 17:42:45 -0500 Subject: add comment to new consider_reading code --- bufferevent_openssl.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'bufferevent_openssl.c') diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c index 53a4d686..d703279c 100644 --- a/bufferevent_openssl.c +++ b/bufferevent_openssl.c @@ -772,6 +772,14 @@ consider_reading(struct bufferevent_openssl *bev_ssl) if (do_read(bev_ssl, n_to_read) <= 0) break; + /* Read all pending data. This won't hit the network + * again, and will (most importantly) put us in a state + * where we don't need to read anything else until the + * socket is readable again. It'll potentially make us + * overrun our read high-watermark (somewhat + * regrettable). The damage to the rate-limit has + * already been done, since OpenSSL went and read a + * whole SSL record anyway. */ n_to_read = SSL_pending(bev_ssl->ssl); } -- cgit v1.2.1