TLS without `cstruct` (#497)
Instead of using cstruct (bigarray-backed memory), we use string and bytes where appropriate.
This brings ocaml-tls on par with mirage-crypto 1.0.0 series and x509 1.0.0 (also asn1-combinators 0.3.0).
The tls-eio and tls-mirage still use cstruct to provide the API dictated by eio/mirage-flow.
It is noteworthy that we still have various performance possibilities now (remove allocations, encrypt/decrypt_into, ...), and also the resulting bench/speed.exe is already more performant than the earlier one.
Since this is a breaking change, we will bump the major version of TLS.
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-authored-by: ArthurW <arthur@tarides.com>
f89d10
-
Aug 21 13:04 +00:00