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
Niklas Keller
2aa91a6c25
Rename Stream::listen to Stream::onEmit
2017-03-21 18:29:51 +01:00
Aaron Piotrowski
4507c358a5
Merge pull request #86 from amphp/onResolve
...
Rename Promise::when to Promise::onResolve
2017-03-21 12:14:03 -05:00
Niklas Keller
ce269fa516
Rename Promise::when to Promise::onResolve, resolves #77
2017-03-21 17:23:37 +01:00
Niklas Keller
3b6ca19dfe
Move promise documentation to own document + success / failure, fixes #97
2017-03-20 21:21:22 +01:00
Niklas Keller
9816bd9828
Move promise combinators into their own document, fixes #102
2017-03-20 21:08:03 +01:00
Niklas Keller
3ede997e6e
Shorten struct examples
2017-03-19 21:03:33 +01:00
Adam Englander
d23a7dbfe6
Add doc for \Amp\Struct
2017-03-18 16:50:48 -07:00
Niklas Keller
a954f73d8e
Update namespacing to be compatible with what's actually used
2017-03-18 21:52:23 +01:00
Niklas Keller
3665df6e96
Fix tabs → spaces
2017-03-18 08:42:26 +01:00
Niklas Keller
78160efede
Fix broken link
2017-03-18 08:40:36 +01:00
Niklas Keller
4f3574bf1e
Add documentation stubs
2017-03-18 08:39:41 +01:00