On 14/02/2025 11:22, Edmond Dantes wrote:

Good day, everyone.

I would like to request permission to create an RFC dedicated to the asynchronous module for PHP.

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.

Have a great day!

Edmond

Is it really necessary to have all these `Async\launchScheduler();` calls? Why can't the scheduler always be running, the same as it is in JavaScript or any other async language? Even (userland) Revolt does not require the event loop to be manually started.

Cheers,
Bilge

Reply via email to