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

Parametric TLS for read transactions #300

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Kerollmops
Copy link
Member

@Kerollmops Kerollmops commented Dec 7, 2024

This PR introduces a breaking change to the RoTxn type, allowing it to be either Send or !Send without toggling a feature flag. This is useful when using both sendable and non-sendable RoTxns in the same application. Non-sendable RoTxns are known to be faster as they require less to no allocation.

To Do

  • Make it work with the EncryptedEnv.
  • Document the WithTls and WithoutTls type parameters.
  • Add tests to check that WithoutTls makes RoTxn Send and WithTls makes them !Send.
  • Explain that it is tied to an Env and that it follows the following rules.
  • (optional) Make it possible to recycle the RoTxn by using the mdb_txn_reset function.

@Kerollmops Kerollmops added the breaking A change that is breaking the semver label Dec 14, 2024
@Kerollmops Kerollmops force-pushed the parametric-send-rotxn branch from c52f919 to 053c778 Compare December 15, 2024 12:23
@Kerollmops Kerollmops force-pushed the parametric-send-rotxn branch 4 times, most recently from 7d3e965 to d60ea76 Compare December 15, 2024 13:34
@Kerollmops Kerollmops force-pushed the parametric-send-rotxn branch from d60ea76 to 4faa7bc Compare December 15, 2024 13:36
@Kerollmops Kerollmops force-pushed the parametric-send-rotxn branch from 9e7fe3e to 74fe024 Compare December 15, 2024 18:38
@Kerollmops Kerollmops marked this pull request as ready for review December 15, 2024 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking A change that is breaking the semver
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant