From f20061e4821b61a22906a9d23d0d00f3ee992fd0 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sun, 5 Jun 2022 21:51:15 -0400 Subject: [PATCH] [core] h2: avoid sending tiny DATA frames h2: avoid sending tiny DATA frames when h2 window is tiny and a larger amount of data is pending to be sent; wait for slightly larger window to be available note: must temporarily disable this when running h2spec since some h2spec tests expect 1-byte DATA frame, not a deferred response --- src/h2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/h2.c b/src/h2.c index a7a2ea2d..297bb719 100644 --- a/src/h2.c +++ b/src/h2.c @@ -2624,6 +2624,9 @@ h2_send_cqdata (request_st * const r, connection * const con, chunkqueue * const if ((int32_t)dlen > h2r->h2_swin) dlen = (uint32_t)h2r->h2_swin; const uint32_t cqlen = (uint32_t)chunkqueue_length(cq); if (dlen > cqlen) dlen = cqlen; + /*(note: must temporarily disable next line when running h2spec since + * some h2spec tests expect 1-byte DATA frame, not a deferred response)*/ + else if (dlen < 2048 && cqlen >= 2048) return 0; if (0 == dlen) return 0; /* XXX: future: should have an interface which processes chunkqueue