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

[do not review] feat: TlsSocket AsyncWriteSome and AsyncReadSome #376

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

kostasrim
Copy link
Contributor

@kostasrim kostasrim commented Jan 31, 2025

Add AsyncWriteSome and AsyncReadSome to TlsSocket.

Resolves #361 when ready.

There are a few things that need to be fixed/implemented:

  1. To "yield" when there a pending read or write (to avoid deadlock) see HandleOp comments
  2. To clean up the state such that progress callbacks can re-request an async operation
  3. Clean up the main loop of AsyncWrite
  4. Improve testing and also force tls protocol renegotiation
  5. Generate tls certificates for CI testing
  6. Investigate iouring imemory leak

@kostasrim
Copy link
Contributor Author

Do not review, it's not ready

@@ -388,6 +388,7 @@ void EpollSocket::AsyncWriteSome(const iovec* v, uint32_t len, io::AsyncProgress
async_write_pending_ = 1;
}

// TODO implement async functionality
void EpollSocket::AsyncReadSome(const iovec* v, uint32_t len, io::AsyncProgressCb cb) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

epoll AsyncRead is synchronous

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.

implement tls_socket async write/read
1 participant