msquic icon indicating copy to clipboard operation
msquic copied to clipboard

Support Priority Work on Connections

Open nibanks opened this issue 1 year ago • 1 comments

Description

Sometimes an application would like to prefer new work over existing work already queued on the connection. This PR adds the notion of priority to the connection's operation queue, and exposes flags through the API to allow the app to chose to leverage this.

Testing

SpinQuic updated. Need to add some explicit BVTs.

Documentation

TODO

nibanks avatar May 03 '24 12:05 nibanks

Codecov Report

Attention: Patch coverage is 87.50000% with 6 lines in your changes missing coverage. Please review.

Project coverage is 84.51%. Comparing base (971eb6f) to head (3d71a11). Report is 8 commits behind head on main.

Files Patch % Lines
src/core/api.c 90.90% 2 Missing :warning:
src/core/connection.c 60.00% 2 Missing :warning:
src/core/datagram.c 60.00% 2 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4279      +/-   ##
==========================================
- Coverage   85.44%   84.51%   -0.93%     
==========================================
  Files          56       56              
  Lines       15384    15426      +42     
==========================================
- Hits        13145    13038     -107     
- Misses       2239     2388     +149     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar May 03 '24 13:05 codecov[bot]

What's this build error? image

ami-GS avatar Jun 12 '24 17:06 ami-GS

What's this build error? image

Means you're not calling new correctly. You need to use the std::nothrow version.

nibanks avatar Jun 12 '24 17:06 nibanks

CIFulzz is failling in QuicConnRelease, by CXPLAT_TEL_ASSERT(Connection->RefTypeCount[QUIC_CONN_REF_STREAM] > 0). I believe that QuicOperationFree is not called as expected? and Stream might not be released.

Any idea of affecting releasing Operation by changing operation order.

ami-GS avatar Jun 12 '24 23:06 ami-GS

Cannot repro using oss-fuzz....

ami-GS avatar Jun 13 '24 20:06 ami-GS