-
Notifications
You must be signed in to change notification settings - Fork 541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 'cancel on loss' send mode to MsQuicStream. #4037
Add 'cancel on loss' send mode to MsQuicStream. #4037
Conversation
@@ -240,13 +240,14 @@ typedef enum QUIC_SEND_FLAGS { | |||
QUIC_SEND_FLAG_FIN = 0x0004, // Indicates the request is the one last sent on the stream. | |||
QUIC_SEND_FLAG_DGRAM_PRIORITY = 0x0008, // Indicates the datagram is higher priority than others. | |||
QUIC_SEND_FLAG_DELAY_SEND = 0x0010, // Indicates the send should be delayed because more will be queued soon. | |||
QUIC_SEND_FLAG_CANCEL_ON_LOSS = 0x0020, // Indicates that a stream is to be cancelled when packet loss is detected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Going to need to update docs for this too.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4037 +/- ##
==========================================
- Coverage 87.35% 86.97% -0.39%
==========================================
Files 56 56
Lines 16957 16938 -19
==========================================
- Hits 14813 14731 -82
- Misses 2144 2207 +63 ☔ View full report in Codecov by Sentry. |
Looks like the .NET build failed because those headers weren't updated. Please run |
Kernel mode build failures:
|
Kernel build error:
Looks like you're not using an std::nothrow new. |
Description
This commit adds an implementation of the stream 'cancel of loss' feature as requested per #3984.
The feature is enabled on a stream when the 'QUIC_SEND_FLAG_CANCEL_ON_LOSS' send flag is supplied during a send. From that time on, the stream will never change back from this behavior again.
Testing
Yes, a test 'CancelOnLossSend' has been added for this.
Documentation
Yes, the documentation in Streams.md and StreamSend.md has been extended.