-
Notifications
You must be signed in to change notification settings - Fork 87
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
Start preparation for Lwt.async demanding unit Lwt.t #370
Conversation
This lgtm |
then you should merge it. I don't understand these intrinsics of the tcp implementation too well, and am a bit worried about ignoring some result value... not sure whom |
What do you think about adding an explicit type annotation? This will catch the case where we add an argument to the function, or change its return type. |
@emillon Good suggestion, I'll update with that! |
@avsm Do you remember what this function ( @hannesm suggested that we could make it log when we get a But I feel like I have zero insight into how this codebase works, and I really just wanted to pave the way for the new |
@avsm maybe this should be merged for 3.7.0 as well!? |
I still need to review this and refresh my memory about the implications... |
I think that the conservative option is to fix the API breakage and add the |
This can indeed be released now; thanks! |
CHANGES: * Revert "Ipv4.Fragments use a Lru.M.t instead of Lru.F.t" (mirage/mirage-tcpip#423 by @hannesm) A Lru.M.t allocates a Hashtbl.t of size = capacity (= 256 * 1024 in our case), this leads to excessive ~2MB memory consumption for each Fragment cache, reported by @xaki23 in mirage/qubes-mirage-firewall#93 * use SOCK_RAW for an ICMP socket in the unix sockets API (previously used SOCK_DGRAM which did not work) reported by @justinc1 in mirage/mirage-tcpip#358, fixed in mirage/mirage-tcpip#424 by @hannesm * tcp is now compatible with lwt >= 5.0.0 (where Lwt.async requires a function of (unit -> unit Lwt.t) (mirage/mirage-tcpip#370 mirage/mirage-tcpip#425 @cfcs @hannesm, issue mirage/mirage-tcpip#392 @emillon) * Add a dependency on dune-configurator to support dune 2.0.0 (mirage/mirage-tcpip#421 @avsm)
CHANGES: * Revert "Ipv4.Fragments use a Lru.M.t instead of Lru.F.t" (mirage/mirage-tcpip#423 by @hannesm) A Lru.M.t allocates a Hashtbl.t of size = capacity (= 256 * 1024 in our case), this leads to excessive ~2MB memory consumption for each Fragment cache, reported by @xaki23 in mirage/qubes-mirage-firewall#93 * use SOCK_RAW for an ICMP socket in the unix sockets API (previously used SOCK_DGRAM which did not work) reported by @justinc1 in mirage/mirage-tcpip#358, fixed in mirage/mirage-tcpip#424 by @hannesm * tcp is now compatible with lwt >= 5.0.0 (where Lwt.async requires a function of (unit -> unit Lwt.t) (mirage/mirage-tcpip#370 mirage/mirage-tcpip#425 @cfcs @hannesm, issue mirage/mirage-tcpip#392 @emillon) * Add a dependency on dune-configurator to support dune 2.0.0 (mirage/mirage-tcpip#421 @avsm)
Please see ocsigen/lwt#603
This patch ignores the
('a,'e) result
fromq.xmit
(which was also unhandled previously, so I don't think I have changed the behavior of this code).