From 067e4df0bc70bc9199767c1c8adf333d4d5759ee Mon Sep 17 00:00:00 2001 From: ManickaP Date: Fri, 10 Jan 2025 18:36:44 +0100 Subject: [PATCH 01/12] Listener options fixes --- xml/System.Net.Quic/QuicListener.xml | 7 ++++--- xml/System.Net.Quic/QuicListenerOptions.xml | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/xml/System.Net.Quic/QuicListener.xml b/xml/System.Net.Quic/QuicListener.xml index 34a5a94c001..aee889f5d18 100644 --- a/xml/System.Net.Quic/QuicListener.xml +++ b/xml/System.Net.Quic/QuicListener.xml @@ -69,9 +69,10 @@ For QUIC prerequisites and supported operating systems, see [Platform dependenci ## Remarks - doesn't have a mechanism to report inbound connections that fail the handshake process. Such connections are only logged by the listener and never surfaced on the outside. - -This method propagates exceptions from , including validation errors from misconfigured , for example, . It also propagates exceptions from failed connection handshakes, for example, and . +This method also propagates exceptions from the process of establishing a connection, including: +- Errors from as with error type. +- Validation errors from misconfigured returned by as . +- Exceptions from failed connection handshakes as or . ]]> diff --git a/xml/System.Net.Quic/QuicListenerOptions.xml b/xml/System.Net.Quic/QuicListenerOptions.xml index 6d787b65425..871160a5311 100644 --- a/xml/System.Net.Quic/QuicListenerOptions.xml +++ b/xml/System.Net.Quic/QuicListenerOptions.xml @@ -22,7 +22,7 @@ - Options to provide to a . + Options to configure a new . To be added. @@ -65,7 +65,7 @@ Gets or sets the list of application protocols that the listener will accept. At least one must be specified. To be added. - This property is mandatory, and not setting it will result in validation errors when starting the listener. + This property is mandatory, not setting or not specifying at least one value will result in validation errors when starting the listener. @@ -92,9 +92,9 @@ System.Func<System.Net.Quic.QuicConnection,System.Net.Security.SslClientHelloInfo,System.Threading.CancellationToken,System.Threading.Tasks.ValueTask<System.Net.Quic.QuicServerConnectionOptions>> - Gets or sets the selection callback to choose inbound connection options dynamically. + Gets or sets the selection callback to choose inbound connection options. To be added. - To be added. + This property is mandatory, not setting it will result in validation errors when starting the listener. @@ -115,7 +115,7 @@ System.Int32 - Gets or sets the number of connections to be held without accepting any of them, that is, the maximum size of the pending connection queue. + Gets or sets the number of connections to be held without accepting any of them. That is, the maximum size of the pending connection queue. To be added. To be added. @@ -140,7 +140,7 @@ Gets or sets the endpoint to listen on. To be added. - This property is mandatory, and not setting it will result in validation errors when starting the listener. + This property is mandatory, not setting will result in validation errors when starting the listener. From 6a803ffc309e299274cbcd39ff787efb5ae5e3c7 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Mon, 13 Jan 2025 17:44:45 +0100 Subject: [PATCH 02/12] Windows sizes power of 2 constraint --- xml/System.Net.Quic/QuicReceiveWindowSizes.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/xml/System.Net.Quic/QuicReceiveWindowSizes.xml b/xml/System.Net.Quic/QuicReceiveWindowSizes.xml index daf3a885273..52413125838 100644 --- a/xml/System.Net.Quic/QuicReceiveWindowSizes.xml +++ b/xml/System.Net.Quic/QuicReceiveWindowSizes.xml @@ -53,7 +53,7 @@ Gets or sets the initial flow-control window size for the connection. To be added. - To be added. + Must be non-negative power of 2. @@ -74,7 +74,7 @@ Gets or sets the initial flow-control window size for locally initiated bidirectional streams. To be added. - To be added. + Must be non-negative power of 2. @@ -95,7 +95,7 @@ Gets or sets the initial flow-control window size for remotely initiated bidirectional streams. To be added. - To be added. + Must be non-negative power of 2. @@ -116,7 +116,7 @@ Gets or sets the initial flow-control window size for (remotely initiated) unidirectional streams. To be added. - To be added. + Must be non-negative power of 2. From c94913c3c6084ae5bde3fc02a995175088314011 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Thu, 16 Jan 2025 15:13:53 +0100 Subject: [PATCH 03/12] Small fixes --- xml/System.Net.Quic/QuicConnectionOptions.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xml/System.Net.Quic/QuicConnectionOptions.xml b/xml/System.Net.Quic/QuicConnectionOptions.xml index c798b59e21c..e6f684b045c 100644 --- a/xml/System.Net.Quic/QuicConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicConnectionOptions.xml @@ -164,8 +164,8 @@ To use a different close error code, call System.TimeSpan - Gets or sets the interval at which keep-alive packets are sent on the connection. - The interval at which keep-alive packets are sent on the connection. The default value is , which means keep-alive packets are never sent. + Gets or sets the interval at which PING frames are sent on the connection. + The interval at which PING frames are sent on the connection. The default value is , which means PING frames are never sent. A value of means use the underlying implementation default timeout. From 84392147d625d0c5895e203ecf956632c7184ad0 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Mon, 20 Jan 2025 17:37:15 +0100 Subject: [PATCH 04/12] Removed non-existing namespace --- xml/ns-System.Net.Quic.Implementations.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 xml/ns-System.Net.Quic.Implementations.xml diff --git a/xml/ns-System.Net.Quic.Implementations.xml b/xml/ns-System.Net.Quic.Implementations.xml deleted file mode 100644 index e1a217559e7..00000000000 --- a/xml/ns-System.Net.Quic.Implementations.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - To be added. - To be added. - - From e5d53ffe7dd5ca70ce2f67827265bb51ff2edc57 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Mon, 20 Jan 2025 17:42:02 +0100 Subject: [PATCH 05/12] Added links to conceptual docs --- xml/System.Net.Quic/QuicConnection.xml | 1 + xml/System.Net.Quic/QuicListener.xml | 1 + xml/System.Net.Quic/QuicStream.xml | 1 + xml/ns-System.Net.Quic.xml | 1 + 4 files changed, 4 insertions(+) diff --git a/xml/System.Net.Quic/QuicConnection.xml b/xml/System.Net.Quic/QuicConnection.xml index 62319c6c1c1..c411dbb0cdd 100644 --- a/xml/System.Net.Quic/QuicConnection.xml +++ b/xml/System.Net.Quic/QuicConnection.xml @@ -41,6 +41,7 @@ For QUIC prerequisites and supported operating systems, see [Platform dependenci ]]> RFC 9000: Connections + Guidelines for using QuicConnection diff --git a/xml/System.Net.Quic/QuicListener.xml b/xml/System.Net.Quic/QuicListener.xml index aee889f5d18..c99b6452639 100644 --- a/xml/System.Net.Quic/QuicListener.xml +++ b/xml/System.Net.Quic/QuicListener.xml @@ -39,6 +39,7 @@ For QUIC prerequisites and supported operating systems, see [Platform dependenci ]]> RFC 9000: Connections + Guidelines for using QuicListener diff --git a/xml/System.Net.Quic/QuicStream.xml b/xml/System.Net.Quic/QuicStream.xml index 49a47857460..67b2b058e4e 100644 --- a/xml/System.Net.Quic/QuicStream.xml +++ b/xml/System.Net.Quic/QuicStream.xml @@ -30,6 +30,7 @@ Apart from a stream API, also expose Closes the writing side of the stream as a single operation with the write itself.Closes the writing side of the stream.Aborts either the writing or the reading side of the stream.Returns a that will complete when the stream writing side has been closed (gracefully or abortively).Returns a that will complete when the stream reading side has been closed (gracefully or abortively). RFC 9000: Streams + Guidelines for using QuicStream diff --git a/xml/ns-System.Net.Quic.xml b/xml/ns-System.Net.Quic.xml index 2dc840c230f..65a40624d1f 100644 --- a/xml/ns-System.Net.Quic.xml +++ b/xml/ns-System.Net.Quic.xml @@ -2,5 +2,6 @@ Contains types that implement the QUIC protocol specified by RFC 9000. To be added. + QUIC in .NET From 3c053032d349bbf1fe10a9dca685856d9ed27509 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Mon, 20 Jan 2025 17:56:42 +0100 Subject: [PATCH 06/12] RFC link --- xml/ns-System.Net.Quic.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/ns-System.Net.Quic.xml b/xml/ns-System.Net.Quic.xml index 65a40624d1f..92fd82c5dc5 100644 --- a/xml/ns-System.Net.Quic.xml +++ b/xml/ns-System.Net.Quic.xml @@ -1,6 +1,6 @@ - Contains types that implement the QUIC protocol specified by RFC 9000. + Contains types that implement the QUIC protocol specified by RFC 9000. To be added. QUIC in .NET From 49583177116f3e3d105939747b1d9c663dc49ce5 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Mon, 20 Jan 2025 18:06:26 +0100 Subject: [PATCH 07/12] callback details in summary --- xml/System.Net.Quic/QuicConnectionOptions.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xml/System.Net.Quic/QuicConnectionOptions.xml b/xml/System.Net.Quic/QuicConnectionOptions.xml index e6f684b045c..dced8648ebe 100644 --- a/xml/System.Net.Quic/QuicConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicConnectionOptions.xml @@ -239,11 +239,12 @@ To use a different close error code, call Optional callback that is invoked when new stream limit is released by the peer. Corresponds to receiving a MAX_STREAMS frame. - The callback values represent increments of stream limits, e.g.: current limit is 10 bidirectional streams, callback arguments notify 5 more additional bidirectional streams => 15 bidirectional streams can be opened in total at the moment. - The initial capacity is reported with the first invocation of the callback that might happen before the instance is handed out via either or . To be added. - To be added. + + The callback values represent increments of stream limits, e.g.: current limit is 10 bidirectional streams, callback arguments notify 5 more additional bidirectional streams => 15 bidirectional streams can be opened in total at the moment. + The initial capacity is reported with the first invocation of the callback that might happen before the instance is handed out via either or . + From b046acc3c40989931e114d342e4c7c421110dfe7 Mon Sep 17 00:00:00 2001 From: ManickaP Date: Tue, 21 Jan 2025 15:11:44 +0100 Subject: [PATCH 08/12] Links to conceptual docs for options classes --- xml/System.Net.Quic/QuicClientConnectionOptions.xml | 1 + xml/System.Net.Quic/QuicConnectionOptions.xml | 1 + xml/System.Net.Quic/QuicListenerOptions.xml | 1 + xml/System.Net.Quic/QuicServerConnectionOptions.xml | 1 + 4 files changed, 4 insertions(+) diff --git a/xml/System.Net.Quic/QuicClientConnectionOptions.xml b/xml/System.Net.Quic/QuicClientConnectionOptions.xml index ffbf9460b84..a846aab8c38 100644 --- a/xml/System.Net.Quic/QuicClientConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicClientConnectionOptions.xml @@ -24,6 +24,7 @@ Options for client (outbound) Quic connections. To be added. + Detailed documentation for QuicClientConnectionOptions diff --git a/xml/System.Net.Quic/QuicConnectionOptions.xml b/xml/System.Net.Quic/QuicConnectionOptions.xml index dced8648ebe..0f0d906caed 100644 --- a/xml/System.Net.Quic/QuicConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicConnectionOptions.xml @@ -24,6 +24,7 @@ Shared options for both client (outbound) and server (inbound) Quic connections. To be added. + Detailed documentation for QuicConnectionOptions diff --git a/xml/System.Net.Quic/QuicListenerOptions.xml b/xml/System.Net.Quic/QuicListenerOptions.xml index 871160a5311..717c5a4c2e9 100644 --- a/xml/System.Net.Quic/QuicListenerOptions.xml +++ b/xml/System.Net.Quic/QuicListenerOptions.xml @@ -24,6 +24,7 @@ Options to configure a new . To be added. + Detailed documentation for QuicListenerOptions diff --git a/xml/System.Net.Quic/QuicServerConnectionOptions.xml b/xml/System.Net.Quic/QuicServerConnectionOptions.xml index 487fef054df..e95b6f869d6 100644 --- a/xml/System.Net.Quic/QuicServerConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicServerConnectionOptions.xml @@ -24,6 +24,7 @@ Options for server (inbound) Quic connections. These options are provided by . To be added. + Detailed documentation for QuicServerConnectionOptions From 6a63806ff436e6936ab35b837c438019e36a7bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marie=20P=C3=ADchov=C3=A1?= <11718369+ManickaP@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:40:40 +0100 Subject: [PATCH 09/12] Update xml/System.Net.Quic/QuicClientConnectionOptions.xml Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- xml/System.Net.Quic/QuicClientConnectionOptions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/System.Net.Quic/QuicClientConnectionOptions.xml b/xml/System.Net.Quic/QuicClientConnectionOptions.xml index a846aab8c38..291ea2d4f4d 100644 --- a/xml/System.Net.Quic/QuicClientConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicClientConnectionOptions.xml @@ -24,7 +24,7 @@ Options for client (outbound) Quic connections. To be added. - Detailed documentation for QuicClientConnectionOptions + Detailed documentation for QuicClientConnectionOptions From 9f22f5fc58ecc167a2271b5a85e209f56e98b2b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marie=20P=C3=ADchov=C3=A1?= <11718369+ManickaP@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:40:53 +0100 Subject: [PATCH 10/12] Update xml/System.Net.Quic/QuicConnection.xml Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- xml/System.Net.Quic/QuicConnection.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/System.Net.Quic/QuicConnection.xml b/xml/System.Net.Quic/QuicConnection.xml index c411dbb0cdd..fdac2187660 100644 --- a/xml/System.Net.Quic/QuicConnection.xml +++ b/xml/System.Net.Quic/QuicConnection.xml @@ -41,7 +41,7 @@ For QUIC prerequisites and supported operating systems, see [Platform dependenci ]]> RFC 9000: Connections - Guidelines for using QuicConnection + Guidelines for using QuicConnection From 6592c1461bfa2df9708e03b357f2a0a802d37e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marie=20P=C3=ADchov=C3=A1?= <11718369+ManickaP@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:41:01 +0100 Subject: [PATCH 11/12] Update xml/System.Net.Quic/QuicConnectionOptions.xml Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- xml/System.Net.Quic/QuicConnectionOptions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xml/System.Net.Quic/QuicConnectionOptions.xml b/xml/System.Net.Quic/QuicConnectionOptions.xml index 0f0d906caed..376574b905f 100644 --- a/xml/System.Net.Quic/QuicConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicConnectionOptions.xml @@ -24,7 +24,7 @@ Shared options for both client (outbound) and server (inbound) Quic connections. To be added. - Detailed documentation for QuicConnectionOptions + Detailed documentation for QuicConnectionOptions From 23e4143293ef48745dfbdfa6268029efdf2cf688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marie=20P=C3=ADchov=C3=A1?= <11718369+ManickaP@users.noreply.github.com> Date: Wed, 22 Jan 2025 09:41:57 +0100 Subject: [PATCH 12/12] Apply suggestions from code review Co-authored-by: Genevieve Warren <24882762+gewarren@users.noreply.github.com> --- xml/System.Net.Quic/QuicConnectionOptions.xml | 4 ++-- xml/System.Net.Quic/QuicListener.xml | 2 +- xml/System.Net.Quic/QuicListenerOptions.xml | 8 ++++---- xml/System.Net.Quic/QuicServerConnectionOptions.xml | 2 +- xml/System.Net.Quic/QuicStream.xml | 2 +- xml/ns-System.Net.Quic.xml | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/xml/System.Net.Quic/QuicConnectionOptions.xml b/xml/System.Net.Quic/QuicConnectionOptions.xml index 376574b905f..d584bcd7613 100644 --- a/xml/System.Net.Quic/QuicConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicConnectionOptions.xml @@ -243,8 +243,8 @@ To use a different close error code, call To be added. - The callback values represent increments of stream limits, e.g.: current limit is 10 bidirectional streams, callback arguments notify 5 more additional bidirectional streams => 15 bidirectional streams can be opened in total at the moment. - The initial capacity is reported with the first invocation of the callback that might happen before the instance is handed out via either or . + The callback values represent increments of stream limits. For example, if the current limit is 10 bidirectional streams, and callback arguments notify 5 more additional bidirectional streams, then 15 bidirectional streams can be opened in total at the moment. + The initial capacity is reported with the first invocation of the callback, which might happen before the instance is handed out via either or . diff --git a/xml/System.Net.Quic/QuicListener.xml b/xml/System.Net.Quic/QuicListener.xml index c99b6452639..50d6a520fcf 100644 --- a/xml/System.Net.Quic/QuicListener.xml +++ b/xml/System.Net.Quic/QuicListener.xml @@ -39,7 +39,7 @@ For QUIC prerequisites and supported operating systems, see [Platform dependenci ]]> RFC 9000: Connections - Guidelines for using QuicListener + Guidelines for using QuicListener diff --git a/xml/System.Net.Quic/QuicListenerOptions.xml b/xml/System.Net.Quic/QuicListenerOptions.xml index 717c5a4c2e9..213048a832b 100644 --- a/xml/System.Net.Quic/QuicListenerOptions.xml +++ b/xml/System.Net.Quic/QuicListenerOptions.xml @@ -24,7 +24,7 @@ Options to configure a new . To be added. - Detailed documentation for QuicListenerOptions + Detailed documentation for QuicListenerOptions @@ -66,7 +66,7 @@ Gets or sets the list of application protocols that the listener will accept. At least one must be specified. To be added. - This property is mandatory, not setting or not specifying at least one value will result in validation errors when starting the listener. + This property is mandatory. Not setting it or not specifying at least one value will result in validation errors when starting the listener. @@ -95,7 +95,7 @@ Gets or sets the selection callback to choose inbound connection options. To be added. - This property is mandatory, not setting it will result in validation errors when starting the listener. + This property is mandatory. Not setting it will result in validation errors when starting the listener. @@ -141,7 +141,7 @@ Gets or sets the endpoint to listen on. To be added. - This property is mandatory, not setting will result in validation errors when starting the listener. + This property is mandatory. Not setting it will result in validation errors when starting the listener. diff --git a/xml/System.Net.Quic/QuicServerConnectionOptions.xml b/xml/System.Net.Quic/QuicServerConnectionOptions.xml index e95b6f869d6..d72df564def 100644 --- a/xml/System.Net.Quic/QuicServerConnectionOptions.xml +++ b/xml/System.Net.Quic/QuicServerConnectionOptions.xml @@ -24,7 +24,7 @@ Options for server (inbound) Quic connections. These options are provided by . To be added. - Detailed documentation for QuicServerConnectionOptions + Detailed documentation for QuicServerConnectionOptions diff --git a/xml/System.Net.Quic/QuicStream.xml b/xml/System.Net.Quic/QuicStream.xml index 67b2b058e4e..efaa94798e3 100644 --- a/xml/System.Net.Quic/QuicStream.xml +++ b/xml/System.Net.Quic/QuicStream.xml @@ -30,7 +30,7 @@ Apart from a stream API, also expose Closes the writing side of the stream as a single operation with the write itself.Closes the writing side of the stream.Aborts either the writing or the reading side of the stream.Returns a that will complete when the stream writing side has been closed (gracefully or abortively).Returns a that will complete when the stream reading side has been closed (gracefully or abortively). RFC 9000: Streams - Guidelines for using QuicStream + Guidelines for using QuicStream diff --git a/xml/ns-System.Net.Quic.xml b/xml/ns-System.Net.Quic.xml index 92fd82c5dc5..7abb48641fe 100644 --- a/xml/ns-System.Net.Quic.xml +++ b/xml/ns-System.Net.Quic.xml @@ -2,6 +2,6 @@ Contains types that implement the QUIC protocol specified by RFC 9000. To be added. - QUIC in .NET + QUIC in .NET