1
0
mirror of https://github.com/danog/amp.git synced 2024-11-30 04:29:08 +01:00
Commit Graph

1237 Commits

Author SHA1 Message Date
Niklas Keller
dc21d094c5 Throw error in case the loop throws during wait 2017-04-24 15:27:04 +02:00
Niklas Keller
e1c63c62f4 Minor documentation changes 2017-04-24 15:27:04 +02:00
Niklas Keller
65a37484a2 Replace UnionTypeError with factory function + minor doc changes 2017-04-24 15:27:04 +02:00
Niklas Keller
689502c0ee Apply code style rules also to examples 2017-04-24 15:27:04 +02:00
Niklas Keller
ccee13bd0b Make travis scripts executable 2017-04-24 15:27:04 +02:00
Niklas Keller
70e63a3748 Fix code style according to new rules 2017-04-24 15:27:04 +02:00
Niklas Keller
b686f2ac8c Use external scripts to install extensions for reusability 2017-04-24 15:27:04 +02:00
Niklas Keller
cf535cfe70 Add additional code fixers 2017-04-24 15:27:04 +02:00
Niklas Keller
dfa40f5b00 Rename wrap to createRunnable and coroutine to createCallable 2017-04-24 15:27:04 +02:00
Niklas Keller
4577f92625 Remove unnecessary usages of Amp\wrap 2017-04-24 15:27:04 +02:00
Niklas Keller
4f8b656513 Document wrap and coroutine better by explicitly naming the differences 2017-04-24 15:27:04 +02:00
Aaron Piotrowski
e75c62a5fd Do not depend on watcher execution order
Loop driver spec says order is not guaranteed.
2017-04-21 12:18:40 -05:00
Aaron Piotrowski
a562d6b20f Use same poll for read and write watchers
Changed values of Watcher constants to match UV constants because it was easier that way. :-D
2017-04-21 10:54:53 -05:00
Aaron Piotrowski
6375d0881d Use same FD for read and write 2017-04-21 10:08:58 -05:00
Aaron Piotrowski
ef51893b69 Test multiple watchers on same FD 2017-04-21 10:02:10 -05:00
Aaron Piotrowski
fdeb427717 Use simple assignment if queue is empty
The common case is for the queue to be empty at the start of the tick, so a call to array_merge() can be avoided in most cases.
2017-04-20 11:26:13 -05:00
Aaron Piotrowski
628d8cbab1 Set next "now" at the beginning of watcher activation 2017-04-20 11:13:17 -05:00
Aaron Piotrowski
76e0913d9b Fix timer test comment
The concept of time continues to elude me…
2017-04-20 10:00:57 -05:00
Aaron Piotrowski
4792bf52fe Emulate "now" behavior of libuv/libev in NativeDriver and EventDriver
Timers created while not running when using NativeDriver and EventDriver will include the elapsed time before run() is called. This matches the behavior of EvDriver and UvDriver. Addresses #113.
2017-04-19 17:21:23 -05:00
Aaron Piotrowski
89570e8f6d Move Watcher to Loop namespace 2017-04-18 09:38:16 -05:00
Niklas Keller
1b7ec817d1 Fix example → examples in Git attributes 2017-04-16 21:58:11 +02:00
Aaron Piotrowski
ede4dd3f46 Merge pull request #121 from DataValidata/dv_master
Add missing namespace declarations
2017-04-15 19:46:21 -05:00
Ciaran Kelly
0e4d4b492e Add missing namespace declarations 2017-04-15 23:16:50 +01:00
Bob Weinand
61b88a780e Merge remote-tracking branch 'origin/kelunik-v2-review' 2017-04-15 00:42:07 +02:00
Aaron Piotrowski
38a6066e53 Remove Message 2017-04-14 09:23:47 -05:00
Niklas Keller
fed09e42ac Fix line lengths 2017-04-13 18:49:32 +02:00
Niklas Keller
5e545301cd Rename Listener to StreamIterator 2017-04-13 18:20:46 +02:00
Niklas Keller
3a42254300 Make Watcher implement Struct 2017-04-13 18:05:59 +02:00
Niklas Keller
3e8b37f21f Remove Amp\Stream\interval and add delay option to fromIterable 2017-04-13 18:05:41 +02:00
Niklas Keller
b810ff1034 Use eval to prevent multiple definitions warnings for Emitter and Deferred 2017-04-13 18:04:51 +02:00
Aaron Piotrowski
a0b8de40fb Null deferred refs 2017-04-07 12:50:01 -05:00
Bob Weinand
f100d9cd8b Fix possible double resolutions 2017-04-07 18:47:44 +02:00
Bob Weinand
c52279065d Remove unnecessary use of temporary variables 2017-04-07 18:09:39 +02:00
Aaron Piotrowski
e43f9afc8f Refactor functions to remove circular refs
This will provide for faster garbage collection of unused promises/deferreds/etc.
2017-04-07 10:51:57 -05:00
Aaron Piotrowski
97dd8d933e Forward UV error to loop error handler and disable watchers 2017-04-06 11:18:33 -05:00
Aaron Piotrowski
d01ee68dd2 Null circular reference on resolution 2017-04-06 09:24:21 -05:00
Aaron Piotrowski
cdf28fa938 Drop max continuation depth
It seems unlikely a real-world application would run out of memory due to call stack depth for normal coroutine continuations (that is, where infinite recursion is not root problem). Hopefully time will not prove me wrong…
2017-03-30 23:45:54 -05:00
Aaron Piotrowski
3ee5810fd3 Merge pull request #115 from amphp/double-resolution-debug
Allow recording stacktraces to debug double resolution
2017-03-29 23:27:57 -05:00
Niklas Keller
8caae2253f Allow recording stacktraces to debug double resolution 2017-03-29 17:25:44 +02:00
Aaron Piotrowski
2f7e9a0746 Run returned generator as coroutine from onResolve and onEmit callbacks 2017-03-27 18:37:55 -05:00
Aaron Piotrowski
173549ebba Halt recursive runs with each call to stop, addresses #84 2017-03-27 11:42:51 -05:00
Aaron Piotrowski
cb717952f1 Validate number of required promises 2017-03-27 11:42:11 -05:00
Aaron Piotrowski
c464e070e4 s/fail/succeed 2017-03-26 12:53:26 -05:00
Aaron Piotrowski
67f9f4a569 Drop lift and Promise\map; add required param to Promise\some 2017-03-26 12:34:34 -05:00
Niklas Keller
995f6f1f6c Disable coverage by default, increase timeout for signal test 2017-03-25 21:47:30 +01:00
Niklas Keller
c838a0ae8f Only cache dist files on Travis and use --prefer-dist 2017-03-25 21:40:22 +01:00
Niklas Keller
9def47e50d Run memory leak tests separately on Travis 2017-03-25 20:12:33 +01:00
Niklas Keller
9ef99a5175 Make PHPUnit on Travis verbose 2017-03-25 20:05:55 +01:00
Niklas Keller
ff5fef4b93 Fix UV executing multiple IO watchers in different ticks, fixes #85 2017-03-25 19:52:17 +01:00
Aaron Piotrowski
95b3f62497 Merge pull request #111 from amphp/onEmit
Rename Stream::listen to Stream::onEmit
2017-03-21 14:05:45 -05:00