-
Notifications
You must be signed in to change notification settings - Fork 4
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
Lwt 2.2 #2
Comments
It won't work with Lwt 2.2.{0,1}, sorry. I emailed the ocsigen list about adding back support. Another possibility is to modify Lwt_unix. This would be relatively straightforward I think, since the libev interface is similar to Equeue. In the original lwt-equeue (based on Lwt 1.0) this is what I did, but it meant forking Lwt. |
Guess going back to forking of Lwt will make it harder to keep up with Lwt. I saw that you mentioned that with the latest version of OCamlNet it could be possible to have equeue run on top of Lwt instead. I think this might be a better option, if they can not put back the old interface to Lwt, than forking of Lwt. Let us wait and see what the Lwt folks says. |
I worked partly around this problem by creating my own Rpc_transport.rpc_multiplex_controller. This is constructed to have start_reading and start_writing call functions that can return a string or take a string as argument. These functions will then use Lwt for doing IO. Seems like I still have to call Unixqueue.run to get the client to change from connecting to connected, but I don't think this involves any IO when it changes the state of an already connected sockets. The code seems to work OK, but there might be some corner cases that I'm not aware of. I saw that they have fixed Lwt, so I guess this is not that useful. However, I need have access to the wire data for my application, so it's still useful independent of which event loop I can use. Seems like you can not upload attachment to comments, but I can send the example code in email if it is of interest. |
Hi,
Lwt 2.2 has changed form select based to using libev. As part of this they seem to have dropped support for low level control of event loop in Lwt_main. Do you think this might result in that lwt-equeue will no longer work for newer versions of Lwt or is there other ways to still make it working?
Thanks,
Hans Ole
The text was updated successfully, but these errors were encountered: