Skip to content
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

io_uring improvements (error sets, completion cancellation, queued write retries) #60

Merged

Conversation

recursiveGecko
Copy link
Contributor

There are a couple of things here, I'm happy to split them up into multiple PRs:

  • Adds some common error codes for send/recv operations (e.g. Connection refused, timed out, connection reset)
  • Adds a generic completion cancellation function that can be used to cancel any completion (tested with TCP recv operations)
  • Improves handling of partial queued writes. Public Queued API should guarantee the ordering of writes. These changes ensure that partially completed writes are re-tried rather than discarded.

@penberg
Copy link
Contributor

penberg commented Aug 9, 2023

@recursiveGecko I think it's fine to have these in one pull request, but obviously it's really @mitchellh's preference that matters here.

@recursiveGecko recursiveGecko force-pushed the feature/io-uring-improvements branch 3 times, most recently from 95fc217 to fafe6b7 Compare August 9, 2023 10:36
@mitchellh
Copy link
Owner

This looks really good. I'm going to make some cosmetic changes but the core work here is excellent. Thank you. All the changes in one PR is fine.

@mitchellh mitchellh merged commit 42cda99 into mitchellh:main Aug 9, 2023
8 checks passed
@mitchellh
Copy link
Owner

I know this was still marked as draft but the queueWrite fixes were too good and the remainder looked ready to go to me. If you have some issues let me know! Thank you again, so much!

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