Skip to content

Added new APIs to Spinquic #5892

Open
gaurav2699 wants to merge 7 commits intomainfrom
spinquic_newapi
Open

Added new APIs to Spinquic #5892
gaurav2699 wants to merge 7 commits intomainfrom
spinquic_newapi

Conversation

@gaurav2699
Copy link
Copy Markdown
Contributor

Description

SpinQuic updated to cover the new/experimental APIs:

ConnectionPoolCreate
RegistrationClose2
App-provided receive buffers APIs: StreamProvideReceiveBuffers_Describe the purpose of and changes within this Pull Request._

Testing

Do any existing tests cover this change? Are new tests needed?

Documentation

Is there any documentation impact for this change?

@gaurav2699 gaurav2699 requested a review from a team as a code owner March 24, 2026 13:34
@gaurav2699 gaurav2699 changed the title Addesd new APIs to Spinquic Added new APIs to Spinquic Mar 24, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.26%. Comparing base (0071278) to head (941b324).
⚠️ Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5892      +/-   ##
==========================================
- Coverage   86.23%   85.26%   -0.97%     
==========================================
  Files          60       60              
  Lines       18732    18731       -1     
==========================================
- Hits        16153    15971     -182     
- Misses       2579     2760     +181     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Collaborator

@guhetier guhetier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to also add a call to StreamProvideReceiveBuffers when a new stream is notified to a connection.

if (Registration) {
MsQuic->RegistrationClose(Registration);
if (rand() % 2 == 0) {
CXPLAT_EVENT CloseComplete;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Consider using a CxPlatEvent since this is C++.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CxPlatEvent throws an error. I think it requires the CX_PLATFORM_TYPE which comes from the platform headers which we dont include

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you just need to include msquic.hpp after msquichelper.h

Copy link
Copy Markdown
Contributor Author

@gaurav2699 gaurav2699 Apr 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That doesnt work either cause it causes name collisions:
C:\Users\gaurasingh\msquic\src\tools\spin\spinquic.cpp(203,23): error C2040: 'MsQuic': 'QUIC_API_TABLE' differs in leve ls of indirection from 'const MsQuicApi *'
msquic.hpp declares extern const MsQuicApi* MsQuic; while spinquic.cpp declares static QUIC_API_TABLE MsQuic. Including msquic.hpp causes a name collision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants