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

735 Commits

Author SHA1 Message Date
Aaron Piotrowski
6d5e0f5ff7
More direct use of fiber
Avoids creating unnecessary promise objects.

delay(0) ticking the loop only once required using delay(x) instead of delay(0) in some tests.
2020-11-05 23:55:06 -06:00
Aaron Piotrowski
f3b189f33f
Update for Continuation 2020-11-05 11:29:31 -06:00
Aaron Piotrowski
cff6bba499
Missed an Awaitable usage 2020-11-05 10:16:42 -06:00
Aaron Piotrowski
8d8358023f
Merge branch 'master' into v3 2020-11-03 17:29:41 -06:00
Aaron Piotrowski
ae42c11053
Allow failing pipeline with DisposedException 2020-11-03 17:02:56 -06:00
Aaron Piotrowski
865238bc16
Use fiber directly when emitting values 2020-11-03 16:55:29 -06:00
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
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
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
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