From f76ac196271b4fe837cc90eb44f88e6110b59083 Mon Sep 17 00:00:00 2001 From: Tomas Krizek Date: Wed, 17 Jun 2020 17:18:04 +0200 Subject: [PATCH] doc: clarify flow control behaviour for nghttp2_session_send() The previous wording implied that if send_callback doesn't return NGHTTP2_ERR_WOULDBLOCK, this function would always send all submitted requests / data. This is not the case, since flow control can cause some data to remain queued until WINDOW_UPDATE is received. --- lib/includes/nghttp2/nghttp2.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/includes/nghttp2/nghttp2.h b/lib/includes/nghttp2/nghttp2.h index 9be6eea5..a8c75594 100644 --- a/lib/includes/nghttp2/nghttp2.h +++ b/lib/includes/nghttp2/nghttp2.h @@ -2853,7 +2853,8 @@ NGHTTP2_EXTERN void nghttp2_session_del(nghttp2_session *session); * outbound queue and sends it to the remote peer. It does this as * many as possible until the user callback * :type:`nghttp2_send_callback` returns - * :enum:`NGHTTP2_ERR_WOULDBLOCK` or the outbound queue becomes empty. + * :enum:`NGHTTP2_ERR_WOULDBLOCK`, the outbound queue becomes empty + * or remote window size becomes depleted due to flow control. * This function calls several callback functions which are passed * when initializing the |session|. Here is the simple time chart * which tells when each callback is invoked: