[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: LuaSocket 3.0? (was Re: A proposal for faster userdata type checking)
- From: Diego Nehab <diego@...>
- Date: Thu, 28 Feb 2008 19:08:55 -0500 (EST)
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?
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.