Hi On Fri, Feb 14, 2025 at 12:24 PM Edmond Dantes <edmond...@gmail.com> wrote:
> Good day, everyone. > > I would like to request permission to create an RFC dedicated to the > asynchronous module for PHP. > Someone will surely grant you karma soon. RFC makes sense. > Although the source code development is still in progress, a significant > part of it has already been written, and the initial tests are working > successfully. Therefore, I could start the documentation process if you > consider this topic relevant and interesting for the community. > A brief overview of what this RFC will cover: > > 1. *True* asynchronous support for PHP core functions without > additional "tricks." > 2. *Scheduler* and *Reactor* components, providing a C-API for PHP > extensions to enable non-blocking I/O in plugins or core code. > 3. *User-Land API* that mirrors the C-API for PHP developers. > 4. Basic primitives for concurrent programming, such as *Channel* and > *Iterator*. > 5. *Built-in* integration with the *LibUV* library. > > The library is based on *Fiber*, extending and enhancing it to provide > PHP developers with a full set of tools for concurrent applications. > Looks interesting. I understand that's not ready for review yet but quickly checked the code anyway. Is there some particular reason why this is not an extension? Think it might actually make sense to split it to two extensions - one for the core main stuff (that could be enabled by default) and then libuv optional part - similar to pdo for example. I haven't checked too deeply the code though so I might be missing things. Feel free to create a draft PR even if it's not ready. It might help to get some initial pre-reviews... :) Regards Jakub