Hi Isa,

Please see responses in-line:

On Sat, Oct 12, 2024, at 23:14, Isa Jafarov wrote:
> Good day.
> 
> I would like to point out an issue about RFC 9204 (QPACK).
> 
> Here is a quote from RFC 9204 (QPACK):
> *- An encoder stream is a unidirectional stream of type 0x02. It carries an 
> unframed sequence of encoder instructions from encoder to decoder.*
> *- A decoder stream is a unidirectional stream of type 0x03. It carries an 
> unframed sequence of decoder instructions from decoder to encoder.*
> 
> In RFC 9000 (QUIC), we see that stream type 0x02 is only for Unidirectional 
> Client-Initiated streams and 0x03 is for Unidirectional Server-Initiated 
> streams. Based on this information, one can conclude that an encoder stream 
> can only be created by the client and a decoder stream can only be created by 
> the server. However, it contradicts the fact that each peer can open both 
> encoder and decoder streams. Even in practice, we can see servers opening 
> encoder streams on stream #7 and clients opening decoder streams on stream 
> #10.
> 
> Is there something wrong with the stream types or do I miss something here?
QPACK runs on HTTP/3 connections. HTTP/3 defines the concept of unidirection 
stream types [1], this is distinct from the QUIC stream type [2]

>From RFC 9114 Section 6.2 
> Unidirectional streams, in either direction, are used for a range of 
> purposes. The purpose is indicated by a stream type, which is sent as a 
> variable-length integer at the start of the stream.

The text in QPACK is speaking directly about the value sent at the start of the 
unidirectional stream - encoder stream using 0x2, decoder stream using 0x3.

Hope that helps.

Cheers,
Lucas


[1] - https://datatracker.ietf.org/doc/html/rfc9114#section-6.2
[2] - https://datatracker.ietf.org/doc/html/rfc9000#section-2.1

> 
> Best regards,
> -Isa

Reply via email to