1
0
mirror of https://github.com/danog/amp.git synced 2024-12-11 17:09:40 +01:00
Commit Graph

1549 Commits

Author SHA1 Message Date
Aaron Piotrowski
5d026083df
Update for removal of Awaitable in ext-fiber 2020-11-03 11:18:35 -06:00
descawed
ecdc3c476b
Correct heap implementation in TimerQueue (#332)
* Correct heap implementation in TimerQueue, which would sometimes extract timers in the wrong order after a node other than the root was removed

* Factor out old heap rebuilding code into its own method to satisfy codeclimate requirements
2020-11-03 10:23:45 -06:00
Aaron Piotrowski
0838d483fe
Rethrow in loop from any Awaitable failure 2020-11-01 11:19:17 -06:00
Aaron Piotrowski
3ebd44ee09
defer instead of Loop::defer
Callbacks should be run in a fiber in case they await.
2020-11-01 11:14:03 -06:00
Aaron Piotrowski
eaa7c45049
Make Driver an interface 2020-11-01 09:43:21 -06:00
Aaron Piotrowski
7669f89b51
Minor optimization for async() 2020-10-30 10:41:38 -05:00
Aaron Piotrowski
6cf7ae13bb
Remove automatic Generator to Coroutine conversion 2020-10-30 10:36:19 -05:00
Aaron Piotrowski
7612ef3f1e
Drop direct conversion of React promises
React promises are still supported using Amp\Promise\adapt().
2020-10-30 10:19:12 -05:00
Niklas Keller
fc423c7db5 Remove static to access $this 2020-10-25 21:44:01 +01:00
Aaron Piotrowski
eec21c12c6
Fix use before init 2020-10-22 23:03:58 -05:00
Aaron Piotrowski
80ecfe6b99
Promisify signals 2020-10-10 09:06:49 -05:00
Aaron Piotrowski
ee3c09087b
Merge branch 'master' into v3 2020-10-10 08:57:34 -05:00
Aaron Piotrowski
eb2f325586
Fix NativeDriver when only signals are enabled 2020-10-10 08:54:50 -05:00
Aaron Piotrowski
1db52920ab
Mark loop classes final 2020-10-09 13:23:33 -05:00
Aaron Piotrowski
8ee7d61452
Remove registry data and error handler when clearing loop 2020-10-07 22:52:23 -05:00
Aaron Piotrowski
cecbbd3f40
Drop sleep() and refactor delay to use await() 2020-10-06 23:40:14 -05:00
Aaron Piotrowski
1b30909215
Remove succeed() and fail() 2020-10-04 10:22:51 -05:00
Aaron Piotrowski
40aab8eef5
Add defer() 2020-10-04 10:22:21 -05:00
Aaron Piotrowski
3dbebd2a77
Remove unused BaseTest 2020-10-04 10:12:22 -05:00
Aaron Piotrowski
b226030a11
Remove tests incompatible with ext-fiber 2020-10-03 21:57:35 -05:00
Aaron Piotrowski
6ce8cba91c
Update travis to install ext-fiber 2020-10-03 10:00:25 -05:00
Aaron Piotrowski
249aa95256
Forbid loop nesting 2020-10-03 09:42:29 -05:00
Aaron Piotrowski
45bd189e76
Add Driver::clear()
Intended for tests over swapping the entire event loop.

This allows forbidding swapping the global event loop once it is started.
2020-10-03 08:38:31 -05:00
Aaron Piotrowski
822995a69b
Remove InvalidYieldError
Unused.
2020-10-02 22:49:41 -05:00
Aaron Piotrowski
825efaf841
Fix test 2020-10-02 22:42:52 -05:00
Aaron Piotrowski
4c8cd6b7b1
Revert DriverControl
Simplifies fiber running the loop. Control complexity seems unnecessary now since the loop should not need to be started by the user.
2020-10-02 22:26:10 -05:00
Aaron Piotrowski
7a6fa6fd34
Simplify AsyncGenerator too 2020-10-02 14:14:30 -05:00
Aaron Piotrowski
4af828f30d
Merge branch update-tests into v3 2020-10-02 13:59:54 -05:00
Aaron Piotrowski
8bd6cff602
Update Struct to use reflection
Typed properties requires reflection.
2020-10-02 13:56:40 -05:00
Aaron Piotrowski
0933a501fd
Remove unnecessary version checks 2020-10-02 13:56:17 -05:00
Aaron Piotrowski
d62ba46fb4
Fix pipeline functions 2020-10-02 13:55:58 -05:00
Aaron Piotrowski
bf58e595be
Defer cancellation callback 2020-10-02 13:55:46 -05:00
Aaron Piotrowski
492442db2d
Check run count on dispatch 2020-10-02 13:55:00 -05:00
Aaron Piotrowski
27a8facd6a
Update tests for fibers 2020-10-02 13:40:29 -05:00
Niklas Keller
3219618fd8 Add deprecations 2020-09-29 21:25:42 +02:00
Niklas Keller
55af98a8ba Simplify Coroutine 2020-09-29 21:13:30 +02:00
Aaron Piotrowski
32c2cd6d64
Drop Loop::run() and Loop::stop()
This is a *huge* shift, but there’s no reason for these to exist in a world with top-level await.
2020-09-27 09:38:52 -05:00
Aaron Piotrowski
0eceb48fad
Refactor internal traits as classes
Trait tests should test Deferred and Emitter instead, will update with other tests.
2020-09-26 23:14:17 -05:00
Aaron Piotrowski
7e03928faf
Drop CallableMaker 2020-09-26 22:31:08 -05:00
Aaron Piotrowski
07a9965ba6
Run promisor in LazyPromise in new fiber 2020-09-26 22:26:57 -05:00
Aaron Piotrowski
b65823e0bb
Refactor Coroutine to use await()
Dropped polyfill, ext-fiber will be required to run any v3 code.
2020-09-26 22:22:07 -05:00
Aaron Piotrowski
9f68bd4046
Remove Driver::run() and stop()
Added Driver::isRunning().

Driver now must be started and stopped through an instance of DriverControl.
2020-09-26 12:50:30 -05:00
Aaron Piotrowski
9a2ebe777a
Merge branch 'kelunik-nested-wait' into v3 2020-09-26 11:40:38 -05:00
Aaron Piotrowski
b35c9f1956
Fix throw from send 2020-09-25 12:57:56 -05:00
Aaron Piotrowski
72b50523a3
Add separate method to await back pressure 2020-09-25 12:32:37 -05:00
Aaron Piotrowski
d48e6bd5d2
Add more class and return types
More PHP 7.1 to 8 types added.
2020-09-24 22:17:13 -05:00
Aaron Piotrowski
8e4cc1bbd1
Refactor Pipeline for async/await 2020-09-24 22:14:58 -05:00
Aaron Piotrowski
5f6db028ab
Initial fiber support 2020-09-24 12:53:32 -05:00
Aaron Piotrowski
6dd2b990f8
Revert AsyncGenerator being lazy 2020-09-24 12:53:32 -05:00
Aaron Piotrowski
9a13937fef
Make explicit disposal fail pending promises
Destruction of the pipeline does not fail pending promises, but calling dispose() now will.
2020-09-24 12:53:31 -05:00