Skip to content

QPACK streams created regardless of max dynamic table size 0 #548

@gmarzot

Description

@gmarzot

ran across this while experimenting with webtransport streams connecting the relay server in the moxygen project.

when connecting to a moxygen/proxygen server via HTTP3 at session start, i am observing the generation of 2 QPACK streams. apparently this occurs regardless of whether a SETTINGS frame has been sent or whether the SETTINGS_QPACK_MAX_TABLE_CAPACITY is set to 0 (the default). in cases where header compression is not needed/expected then these streams don't need to be created.

debug output show the quic stream creation

INFO:__main__:H3 connection initialized INFO:quic:[c33573459ee6dd96] ALPN negotiated protocol h3 INFO:__main__:QUIC EVENT: stream: unknown event: HandshakeCompleted(alpn_protocol='h3', early_data_accepted=False, session_resumed=False) INFO:__main__:Transmitting data DEBUG:quic:[c33573459ee6dd96] Stream 3 created by peer DEBUG:quic:[c33573459ee6dd96] Stream 7 created by peer DEBUG:quic:[c33573459ee6dd96] Stream 11 created by peer INFO:__main__:QUIC EVENT: stream: unknown event: ConnectionIdIssued(connection_id=b'\x01\x0c?\xa65\x84m\x80') INFO:__main__:QUIC EVENT: stream: 3 event: StreamDataReceived(data=b'\x00\x04%\x01P\x00\x06\x80\x02\x00\x00\x07@d\x08\x01\x80\xff\xd2w\x01Bv\x013\x01\xab7B\x01!\xc0\x00\x00\x00\xfa\xce\xb0\x0c', end_stream=False, stream_id=3)
INFO:main:QUIC EVENT: stream: 3 raw data: 0x0004250150000680020000074064080180ffd277014276013301ab6037420121c0000000faceb00c
INFO:main:QUIC EVENT: stream: 7 event: StreamDataReceived(data=b'\x02', end_stream=False, stream_id=7)
INFO:main:QUIC EVENT: stream: 7 raw data: 0x02
INFO:main:QUIC EVENT: stream: 11 event: StreamDataReceived(data=b'\x03', end_stream=False, stream_id=11)
INFO:main:QUIC EVENT: stream: 11 raw data: 0x03

--- rfc9204 ---
3.2. Dynamic Table
4.2. Encoder and Decoder Streams
5. Configuration

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions