You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think I understand why we made this decision back then. Take a look at the send stream states from RFC 9000:
It explicitly contains the transition Data Sent to Reset Sent. While it makes sense to have CancelWrite after Close a no-op (it's basically a misuse of the API, you might argue), a sender might receive a STOP_SENDING from the peer. In that case, it does make sense to send a RESET_STREAM and stop retransmitting the stream data.
I think I understand why we made this decision back then. Take a look at the send stream states from RFC 9000:
![image](https://private-user-images.githubusercontent.com/1478487/319355287-20e70492-3739-4b12-95ee-e46eb8931a21.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ5MDQzMzksIm5iZiI6MTcyNDkwNDAzOSwicGF0aCI6Ii8xNDc4NDg3LzMxOTM1NTI4Ny0yMGU3MDQ5Mi0zNzM5LTRiMTItOTVlZS1lNDZlYjg5MzFhMjEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MjlUMDQwMDM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YWU5N2Q2MWI3ZDFiZGRjMzdhYjY2ODRjOTI1ZjQ0YTU4MmQxYmMxNGVhY2M1ZWZmNGI4MTc0ZWEzODljNjM5NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.1USOwl63G01p2eFMwhgcwWLxGYk75vMBbS_nJ6iqX1k)
It explicitly contains the transition
Data Sent
toReset Sent
. While it makes sense to haveCancelWrite
afterClose
a no-op (it's basically a misuse of the API, you might argue), a sender might receive a STOP_SENDING from the peer. In that case, it does make sense to send a RESET_STREAM and stop retransmitting the stream data.Originally posted by @marten-seemann in #4404 (comment)
The text was updated successfully, but these errors were encountered: