rfc:fibers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:fibers [2021/03/08 18:09] – Update intro kelunik | rfc:fibers [2021/03/08 19:17] – Voting! trowski | ||
---|---|---|---|
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 27: | Line 27: | ||
* Adding a '' | * Adding a '' | ||
* 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.). This is because the placeholder (promise) object is eliminated. Functions instead can declare the I/O result type instead of a placeholder object which cannot specify a resolution type because PHP does not support generics. | ||
==== Fibers ==== | ==== Fibers ==== | ||
Line 229: | Line 231: | ||
PHP 8.1 | PHP 8.1 | ||
- | |||
- | ===== Future Scope ===== | ||
- | |||
- | === suspend keyword === | ||
- | |||
- | '' | ||
- | |||
- | // | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
Line 566: | Line 560: | ||
It is the opinion of the authors of this RFC that it is best to provide the bare minimum in core and allow user code to implement other components as they desire. If the community moves toward a single event loop API or a need emerges for an event loop in PHP core, this can be done in a future RFC. Providing a core event loop without core functionality using it (such as streams, file access, etc.) would be misleading and confusing for users. Deferring such functionality to user frameworks and providing only a minimum API in core keeps expectations in check. | It is the opinion of the authors of this RFC that it is best to provide the bare minimum in core and allow user code to implement other components as they desire. If the community moves toward a single event loop API or a need emerges for an event loop in PHP core, this can be done in a future RFC. Providing a core event loop without core functionality using it (such as streams, file access, etc.) would be misleading and confusing for users. Deferring such functionality to user frameworks and providing only a minimum API in core keeps expectations in check. | ||
- | This RFC does not preclude adding async/await and an event loop to core, see [[# | + | This RFC does not preclude adding async/await and an event loop to core. |
=== How does this proposal differ from prior Fiber proposals? === | === How does this proposal differ from prior Fiber proposals? === | ||
Line 583: | Line 577: | ||
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.txt · Last modified: 2021/07/12 21:30 by kelunik