|
Hi,
We are shooting for an API that behaves like the IOCP API from Windows, but simpler to use. Using kqueue on BSD, IOCP on Windows, epoll on Linux. It will be easy to implement higher level APIs (like the dispatch.lua idea) on top of it. There will even be a synchronous API on top of it (no select(), though).Will the new implementation be API compatible with the old one as defined by the LuaSocket reference manual? http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/reference.html
No. If you really need compatibility, there is no reason to use 3.0. We will continue to support 2.0.x for bugs etc. The assynchronous APIs present a different programming paradigm, so it doesn't make sense to be compatible there. On the other hand, 3.0 will have a dispatch.lua module that will be very, very similar to 2.0.x. We will also have a compatibility layer that will allow for applications using an API that is very similar to 2.0.x. At the moment, it is hard to evaluate how close we will get to the exact old API, though. It should be possible to implement select() on the new API, but I bet it will be slower than the current library. Kind regards, Diego