Skip to content

Support io_uring-based TLS I/O#19

Draft
MrGuin wants to merge 14 commits intomasterfrom
ssl_io_uring
Draft

Support io_uring-based TLS I/O#19
MrGuin wants to merge 14 commits intomasterfrom
ssl_io_uring

Conversation

@MrGuin
Copy link
Collaborator

@MrGuin MrGuin commented Jan 15, 2026

  • Define necessary states.
  • Write logic. Testing.
  • Read logic.
  • Test with simple RPC
  • Test with redis protocol.

Resolves #18.

  - add TLS ring context + helpers (Feed/Drain/Flush ciphertext)
  - rebind SSL sessions to memory BIO when io_uring TLS is enabled
  - implement DoWriteTlsRing: feed plaintext to SSL, drain BIO, flush via io_uring
  - guard logic behind --enable_ssl_io_uring flag, document helpers
@MrGuin MrGuin marked this pull request as draft January 15, 2026 06:48
MrGuin added 10 commits January 15, 2026 15:31
  - handle TLS detection in CopyDataRead via a cached buffer and
    AddMemoryBIO-based helpers
  - add EnsureTlsSession/ContinueTlsHandshake/ProcessTlsRingData
    to drive handshake + decryption through memory BIO
  - refactor io_uring TLS write path (DoWriteTlsRing) with drain/flush
    helpers and add debug logs
  - add sample TLS flags to echo client/server for testing
  - introduce TLS ring helpers (EnsureTlsSessionForRing, ContinueTlsHandshake,
    ProcessTlsRingData, HandleTlsRingRead) to drive handshake/decrypt via io_uring
  - add detection cache so TLS is identified before _read_buf is touched; feed
    ciphertext from ring, flush handshake output, and return EAGAIN while waiting
  - refactor CopyDataRead to use the new helpers, handle EAGAIN correctly, and
    add detailed logging for TLS handshake/flush events
@MrGuin MrGuin marked this pull request as ready for review January 20, 2026 09:31
@MrGuin MrGuin marked this pull request as draft February 4, 2026 09:40
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.

[Feature] Support io_uring-based TLS I/O (OpenSSL memory BIO)

1 participant