-
Notifications
You must be signed in to change notification settings - Fork 612
Add strong partitioning to listeners, connections, and streams #5376
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
Merged
Merged
Changes from 47 commits
Commits
Show all changes
58 commits
Select commit
Hold shift + click to select a range
a8c3216
WIP - listener affinity
mtfriesen 19ccd7b
WIP - listener events are onto partition thread
mtfriesen 3e341be
make connections explicitly partitioned, too
mtfriesen 7a1e773
fix winuser build
mtfriesen ac9561c
update the sidecar, again
mtfriesen f817386
try to fix thread id abstraction
mtfriesen f2cd75d
add array bounds assert
mtfriesen e7ef959
fix winkernel build (finally?)
mtfriesen 0e64c4f
update rust bindings
mtfriesen f038c54
fix dotnet, too
mtfriesen 13ed30d
fix more rust
mtfriesen 92e87ee
fix a few bugs
mtfriesen 8434911
WIP - test
mtfriesen 06b3fc7
add more tests, which all fail
mtfriesen a635977
sync submodules
mtfriesen 694fa6a
Merge remote-tracking branch 'origin/main' into mtfriesen/partition_a…
mtfriesen dbbd0f5
WIP
mtfriesen bf08e6b
add docs
mtfriesen 512593f
WIP - tests passing w/o partition option
mtfriesen a1ce1f9
WIP - listener use-after-free on close notification
mtfriesen cf7bc95
WIP - partition test (WIP) passes
mtfriesen 2b5c9b2
WIP - more precise tests
mtfriesen 84afbb2
test variable numbers of ecs
mtfriesen ecb994b
finalize basic test coverage
mtfriesen f17930e
fix non-linux test build
mtfriesen aad5ab6
more rust
mtfriesen 6fde68c
fix release build
mtfriesen 1a588a1
fix dotnet
mtfriesen d1ce681
updating sidecar
mtfriesen 4da21fb
codecheck
mtfriesen 4577379
fix winkernel build
mtfriesen 7af2aab
try again to fix winkernel
mtfriesen da7f1aa
STILL fix winkernel
mtfriesen 624dd5c
fix winkernel yet again
mtfriesen 5d425d6
fix win official
mtfriesen 4dc7488
RE-fix
mtfriesen 28cbebf
fix one listener bug
mtfriesen fb86b79
more listener fixes
mtfriesen 7e9afe2
more rust gen
mtfriesen 374716c
more fixes
mtfriesen 36cfc39
properly disable the feature on iouring/linux_xdp
mtfriesen b04ac8a
ensure connections aren't implicitly partitioned
mtfriesen 3138d8a
remove flaky/fragile/wrong stateless retry test
mtfriesen ec0a8e6
WIP
mtfriesen f77e143
more fixes
mtfriesen cf9aa5a
improve comment
mtfriesen db7add7
fix sidecar
mtfriesen 27f9d6c
initialize event for compiler
mtfriesen 0da50a0
fix unref'd param
mtfriesen 75b725c
make connection async close wait opt-in
mtfriesen df72594
rename listener refcounts for clarity
mtfriesen 0d7e08d
add connection close async param
mtfriesen beaa959
fixes
mtfriesen 841f6d1
official build fix
mtfriesen 3cf6951
dotnet
mtfriesen 5b51c6c
update spinquic for conn close async param
mtfriesen 20f2e49
address PR feedback
mtfriesen fb7f991
do todo
mtfriesen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| RegistrationClose2 function | ||
| ====== | ||
|
|
||
| > **Preview** | ||
| > This routine is in preview and is subject to breaking changes. | ||
| Closes an existing registration asynchronously. | ||
mtfriesen marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| # Syntax | ||
|
|
||
| ```C | ||
| typedef | ||
| _IRQL_requires_max_(PASSIVE_LEVEL) | ||
| void | ||
| (QUIC_API * QUIC_REGISTRATION_CLOSE_FN)( | ||
| _In_ _Pre_defensive_ __drv_freesMem(Mem) | ||
| HQUIC Registration, | ||
| _In_ _Pre_defensive_ QUIC_REGISTRATION_CLOSE_CALLBACK_HANDLER Handler, | ||
| _In_opt_ void* Context | ||
| ); | ||
| ``` | ||
| # Parameters | ||
| `Registration` | ||
| A registration handle from a previous call to [RegistrationOpen](RegistrationOpen.md). | ||
| `Handler` | ||
| A registration close completion handler. It will be invoked once the registration is closed. | ||
mtfriesen marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| `Context` | ||
| The context to provide to the close completion handler. | ||
| # Remarks | ||
| > **Preview** | ||
| > This routine is in preview and is subject to breaking changes. | ||
| The application should close/delete all child configurations and connection objects before closing the registration. This request **will not complete** until those outstanding objects are cleaned up. | ||
| # See Also | ||
| [RegistrationOpen](RegistrationOpen.md)<br> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.