rfc:fibers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:fibers [2021/03/08 19:04] – Add note about non-blocking I/O of existing interfaces kelunik | rfc:fibers [2021/07/12 21:30] (current) – kelunik | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Date: 2021-03-08 | * Date: 2021-03-08 | ||
* Authors: Aaron Piotrowski < | * Authors: Aaron Piotrowski < | ||
- | * Status: | + | * Status: |
* First Published at: http:// | * First Published at: http:// | ||
Line 28: | Line 28: | ||
* Adding exception classes '' | * Adding exception classes '' | ||
- | Fibers allow for transparent non-blocking I/O implementations of existing interfaces (such as PSR-7, Doctine ORM, etc.). | + | Fibers allow for transparent non-blocking I/O implementations of existing interfaces (such as PSR-7, Doctine ORM, etc.). |
==== Fibers ==== | ==== Fibers ==== | ||
Line 49: | Line 49: | ||
A Fiber would be represented as class which would be defined in core PHP with the following signature: | A Fiber would be represented as class which would be defined in core PHP with the following signature: | ||
+ | |||
+ | < | ||
<code php> | <code php> | ||
Line 222: | Line 224: | ||
=== Fiber Stacks === | === Fiber Stacks === | ||
- | Each fiber is allocated a separate C stack and VM stack on the heap. The C stack is allocated using '' | + | Each fiber is allocated a separate C stack and VM stack on the heap. The C stack is allocated using '' |
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
Declares '' | Declares '' | ||
+ | |||
+ | ===== Future Scope ===== | ||
+ | |||
+ | The current implementation does not provide an internal API for fibers for PHP extensions. This RFC focuses on the user space fiber API. An internal fiber API will be added, collaborating with other internal developers and using feedback from PHP extension developers, including Swoole, so fibers can be created and controlled from PHP extensions. An extension may still optionally provide their own custom fiber implementation, | ||
===== Proposed PHP Version(s) ===== | ===== Proposed PHP Version(s) ===== | ||
Line 577: | Line 583: | ||
As noted in [[# | As noted in [[# | ||
+ | |||
+ | ===== Vote ===== | ||
+ | |||
+ | Voting started on 2021-03-08 and will run through 2021-03-22. 2/3 required to accept. | ||
+ | |||
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </ | ||
===== References ===== | ===== References ===== |
rfc/fibers.1615230270.txt.gz · Last modified: 2021/03/08 19:04 by kelunik