MINOR: mux-quic: emit STREAM_LIMIT_ERROR
Send a CONNECTION_CLOSE on reception of a STREAM frame for a STREAM id
exceeding the maximum value enforced. Only implemented for bidirectional
streams for the moment.
diff --git a/src/mux_quic.c b/src/mux_quic.c
index 8485f81..443eee7 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -384,7 +384,14 @@
/* TODO also checks max-streams for uni streams */
if (quic_stream_is_bidi(id)) {
if (sub_id + 1 > qcc->lfctl.ms_bidi) {
- /* streams limit reached */
+ /* RFC 9000 4.6. Controlling Concurrency
+ *
+ * An endpoint that receives a frame with a
+ * stream ID exceeding the limit it has sent
+ * MUST treat this as a connection error of
+ * type STREAM_LIMIT_ERROR
+ */
+ qcc_emit_cc(qcc, QC_ERR_STREAM_LIMIT_ERROR);
goto out;
}
}