faraday
faraday copied to clipboard
Serialization library built for speed and memory efficiency
Hi, I needed a buffered writer in Eio, and I used Faraday as the basis of that (https://github.com/ocaml-multicore/eio/pull/235). While reviewing the code, I fixed a few things that might want...
Just fixes for the removal of `Core.Unix` in 0.15
I discovered that when using faraday-async while trying to serve large files with httpaf, the writev() syscall would fail with EINVAL because iovcnt was greater than IOV_MAX on my system...
This PR fixes this and adds some tests for the [drain] function.
I'm trying to use faraday with Async like so: ```ocaml open Async let handle fd = let ic = Reader.create fd in let writev = Faraday_async.writev_of_fd fd in let output_buffer...
When compiling to JS (via js_of_ocaml) local exceptions used for control flow are getting very expensive (V8 at least). This PR tries to alleviate some of the places, where functions...
(reported against Eio in https://github.com/ocaml-multicore/eio/pull/418, which contains fixes and tests) https://github.com/inhabitedtype/faraday/blob/c66fc020fdc2327556c36fc1e912524b427d7da8/lib/faraday.ml#L290-L297 @adatario noticed that the shifts should be in bits, not bytes. Also, the BE version gets the sizes of...
When writing to a closed `Faraday.t` an exception `Failure "cannot write to closed writer"` is raised. I am observing this exception from `Httpaf.Body.write_string`, and I'm wary of catching all `Failure`s....