Skip to content

Commit 64bb625

Browse files
committed
backward compatibility clarifications
1 parent 6f99082 commit 64bb625

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

extensions/extensions-negotiation.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,15 @@ Clients MUST NOT use any features from extensions that are not confirmed as supp
9393
2. **Ordering**:
9494
- The `RequestExtensions` message MUST be sent immediately after `SetupConnection.Success` and before any other protocol-specific messages.
9595
96-
3. **Backward Compatibility**:
97-
- Servers that do not support this extension will ignore the `RequestExtensions` message, leading to a connection timeout.
96+
#### 3. **Backward Compatibility**:
97+
- **Server Behavior**:
98+
- Servers that do not support this extension will ignore the `RequestExtensions` message, potentially leading to a connection timeout.
99+
100+
- **Client Behavior**:
101+
- Clients MUST NOT send any further protocol-specific messages until they receive a `RequestExtensions.Success` or `RequestExtensions.Error` response.
102+
- If the client does not receive a response within a reasonable timeout period (e.g., X seconds, where X is implementation-defined), it SHOULD close the connection and report the timeout as an error.
103+
104+
This ensures clients can handle servers that do not implement extensions negotiation gracefully while avoiding indefinite blocking.
98105
99106
4. **Example Use Case**:
100107
A client requesting support for extensions `0x0002` and `0x0003`:

0 commit comments

Comments
 (0)