Subject: [quicwg/base-drafts] Avoid creating QPACK codec streams when unnecessary (#2100)

From: Kazuho Oku <[email-masked]>
Date: Wed, 05 Dec 2018 00:48:59 -0800

Now that #2038 is being merged, we have the possibility to avoid creating unnecessary encoder / decoder streams.

Avoiding creation is beneficial for memory-constrained devices, because they can configure the QUIC transport stack to handle at most one unidirectional stream (in each direction) to support HTTP/3 _if_ the QPACK state forbids 1) peer's creation of the encoder stream when endpoint's `SETTINGS_HEADER_TABLE_SIZE:` is zero, and 2) peer's creation of decoder stream is delayed until the endpoint's creation of the encoder stream.

With the proposed changes, a memory constrained HTTP/3 stack that sends`SETTINGS_HEADER_TABLE_SIZE` of zero and never opens an encoder stream can be certain that the peer never opens an encoder stream or a decoder stream.

Note that it has minimal impact to existing implementations; regarding creation of the encoder stream, #2038 states that the stream cannot be used until SETTINGS is being received. It is a clarification (or a requirement) that "use" includes the creation of the stream. The situation is the same for the decoder stream.

Pull request filed as #2090.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2100