MINOR: ssl: don't abort after sending 16kB

SSL records are 16kB max. When trying to send larger data chunks at once,
SSL_read() only processes 16kB and ssl_sock_from_buf() believes it means
the system buffers are full, which is not the case, contrary to raw_sock.
This is particularly noticeable with HTTP/2 when using a 64kB buffer with
multiple streams, as the mux buffer can start to fill up pretty quickly
in this situation, slowing down the data delivery.
This commit is contained in:
Willy Tarreau 2017-10-25 15:34:39 +02:00
parent 3b9c850271
commit 8de70bcb54

View File

@ -5009,10 +5009,6 @@ static int ssl_sock_from_buf(struct connection *conn, struct buffer *buf, int fl
if (likely(buffer_empty(buf)))
/* optimize data alignment in the buffer */
buf->p = buf->data;
/* if the system buffer is full, don't insist */
if (ret < try)
break;
}
else {
ret = SSL_get_error(conn->xprt_ctx, ret);