Aaron Piotrowski
|
39b95255d2
|
Reduce code duplication in Coroutine
Hot path is still duplicated for performance, but conversion of non-promise values to promises should be a single method.
|
2017-03-15 19:10:23 -05:00 |
|
Aaron Piotrowski
|
86b494a5c4
|
Throw Error if registering signal handler fails
|
2017-03-15 19:08:00 -05:00 |
|
Aaron Piotrowski
|
a927b3cb06
|
Separate functions into Promise and Stream namespaces
|
2017-03-15 19:02:04 -05:00 |
|
Niklas Keller
|
ea67e113b2
|
Add test for loop accessor
|
2017-03-15 08:40:58 +01:00 |
|
Niklas Keller
|
01c58ae90e
|
Fix EvDriver with throwing onSignal callback
|
2017-03-15 08:33:04 +01:00 |
|
Niklas Keller
|
73149b933f
|
Ignore DriverFactory for code coverage
|
2017-03-14 22:33:45 +01:00 |
|
Aaron Piotrowski
|
6b9ec609c1
|
Add UnionTypeError
|
2017-03-14 13:15:31 -05:00 |
|
Aaron Piotrowski
|
44c5a1b1dc
|
Cleanup React promise adaption
|
2017-03-14 13:15:31 -05:00 |
|
Niklas Keller
|
e92bd57030
|
Remove outdated @throws RuntimeException
|
2017-03-14 19:05:38 +01:00 |
|
Niklas Keller
|
c13e8e3a66
|
Use Error instead of InvalidArgumentException, remove test file
|
2017-03-14 18:44:44 +01:00 |
|
Niklas Keller
|
ee11b70395
|
Fix remaining InvalidWatcherError renames
|
2017-03-14 18:24:14 +01:00 |
|
Aaron Piotrowski
|
1dadd4f0da
|
InvalidWatcherException → InvalidWatcherError
|
2017-03-14 11:48:27 -05:00 |
|
Aaron Piotrowski
|
2ab7403ded
|
More code coverage ignores; throw Error instead of DomainException
|
2017-03-14 11:44:19 -05:00 |
|
Niklas Keller
|
35ac983c53
|
Add appropriate coverage ignores to Driver.php
|
2017-03-14 11:01:11 +01:00 |
|
Aaron Piotrowski
|
d7353d4d8f
|
Catch watcher callback exceptions individually
Exceptions thrown from watcher callbacks are now forwarded to the loop error handler without ending the current tick. Fixes #74.
|
2017-03-14 00:20:05 -05:00 |
|
Niklas Keller
|
20acaf123e
|
Remove unsused code from InvalidWatcherException, add handle tests for drivers
|
2017-03-13 13:56:46 +01:00 |
|
Aaron Piotrowski
|
f187d4b31a
|
Accept React promises in rethrow, wait, timeout, pipe, and capture
Fixes #75.
|
2017-03-13 07:17:06 +01:00 |
|
Aaron Piotrowski
|
8b7fb9ece3
|
Merge pull request #72 from amphp/issue-68
Implement yielding arrays as implicit all operator
|
2017-03-12 22:45:31 -05:00 |
|
Niklas Keller
|
77bd05b807
|
Fix tests and Producer React adaption
|
2017-03-12 22:09:19 +01:00 |
|
Niklas Keller
|
0006c6cb56
|
Fix async-interop docblock leftover
|
2017-03-12 21:39:17 +01:00 |
|
Niklas Keller
|
e8ea4e2ba9
|
Implement yielding arrays as implicit all operator, fixes #68
|
2017-03-12 19:42:25 +01:00 |
|
Aaron Piotrowski
|
2cc4cf9d0b
|
Fix use statement order
|
2017-03-12 12:23:48 -05:00 |
|
Aaron Piotrowski
|
f040e8801e
|
Fast return on void watcher callback
|
2017-03-12 12:23:27 -05:00 |
|
Aaron Piotrowski
|
cd4328ab48
|
Merge branch 'react-compatibility'
|
2017-03-12 11:38:48 -05:00 |
|
Pieter Hordijk
|
2db7bed1b6
|
Fixed typos an promise -> a promise
|
2017-03-12 17:36:07 +01:00 |
|
Niklas Keller
|
d748855a51
|
Fix some risky tests
|
2017-03-12 17:33:46 +01:00 |
|
Niklas Keller
|
f5f9410ec0
|
Rename Factory to DriverFactory, rename supported to isSupported
|
2017-03-12 11:25:21 +01:00 |
|
Niklas Keller
|
766b3224d1
|
Rename drivers to have a Driver instead of Loop suffix
|
2017-03-12 11:21:44 +01:00 |
|
Aaron Piotrowski
|
a98fe5cdf6
|
Rethrow React promise rejections
Adapt React promises returned from watcher callbacks to promises so that rethrow is called on them.
|
2017-03-11 09:17:55 -06:00 |
|
Aaron Piotrowski
|
7ad10f5d7d
|
Add support for React promises
|
2017-03-11 09:17:43 -06:00 |
|
Aaron Piotrowski
|
7ebe70e0ae
|
Fix docblock param formatting
Callable prototypes make alignment a mess… maybe something better can be done.
|
2017-03-10 23:08:40 -06:00 |
|
Aaron Piotrowski
|
2a9d7cb97b
|
Remove unnecessary parameter
|
2017-03-10 22:59:11 -06:00 |
|
Aaron Piotrowski
|
85de9f1f1e
|
Remove missed wrap call
|
2017-03-10 16:23:29 -06:00 |
|
Aaron Piotrowski
|
1fea860a05
|
Run watcher callbacks as coroutines within drivers
|
2017-03-10 16:03:41 -06:00 |
|
Aaron Piotrowski
|
ca30af4d22
|
More type declarations in loop component
|
2017-03-10 15:46:12 -06:00 |
|
Aaron Piotrowski
|
1929715b97
|
Remove driver nullability
|
2017-03-10 15:34:52 -06:00 |
|
Aaron Piotrowski
|
754a29e86c
|
Remove promise error handler
Exceptions thrown from when callbacks are now forwarded directly to the loop error handler.
|
2017-03-10 15:32:58 -06:00 |
|
Niklas Keller
|
be34c49a2d
|
Fixup all remaining issues, tests pass locally
|
2017-03-10 22:20:28 +01:00 |
|
Niklas Keller
|
dd8993b98e
|
Fix AsyncInterop → Amp in ErrorHandler
|
2017-03-10 22:09:49 +01:00 |
|
Niklas Keller
|
0be9ae9ade
|
Switch from AsyncInterop\Promise to Amp\Promise
|
2017-03-10 21:58:46 +01:00 |
|
Niklas Keller
|
e64bbfb9f5
|
Add Loop::set, auto-wrapping, fixup things
|
2017-03-10 21:31:57 +01:00 |
|
Niklas Keller
|
21561661a2
|
Fixup after repository merge
|
2017-03-10 19:19:32 +01:00 |
|
Niklas Keller
|
f4f9008ca0
|
Merge amphp/amp repository into amphp/amp
|
2017-03-10 18:26:17 +01:00 |
|
Aaron Piotrowski
|
72378e2b82
|
Add Amp\call()
|
2017-02-22 15:52:30 -06:00 |
|
Aaron Piotrowski
|
bb51720818
|
Always use persistent flag for timer
cancel() is called when delay timers are executed anyway, so it doesn't matter what the flags are for the event.
|
2017-02-16 23:39:11 -06:00 |
|
Aaron Piotrowski
|
9073f6c999
|
Docblock cleanup
|
2017-02-16 22:36:32 -06:00 |
|
Aaron Piotrowski
|
d7e8a9de84
|
Calling stop() in nested loop should not stop outer loop
|
2017-02-16 22:20:10 -06:00 |
|
Aaron Piotrowski
|
b72e504eab
|
Ensure correct argument order in multi-argument lift
|
2017-02-09 22:34:24 -06:00 |
|
Aaron Piotrowski
|
3861c6b5da
|
Simpler each and filter implementation
|
2017-02-09 22:17:45 -06:00 |
|
Aaron Piotrowski
|
5dade2443f
|
Fix error in Message with empty stream
|
2017-01-31 17:30:05 -06:00 |
|
Aaron Piotrowski
|
5f284b2f70
|
Refactor Message, add Iterator
|
2017-01-31 17:09:38 -06:00 |
|
Niklas Keller
|
a69bf4d3a0
|
Improve type hints / types
|
2017-01-16 17:39:24 +01:00 |
|
Aaron Piotrowski
|
0631560c65
|
Merge pull request #62 from amphp/drop-choose
Drop Amp\choose
|
2017-01-15 08:49:11 -06:00 |
|
Aaron Piotrowski
|
e3cb5dc385
|
Merge pull request #54 from amphp/ex-msg
Make exception messages more generic
|
2017-01-15 08:48:56 -06:00 |
|
Aaron Piotrowski
|
84917e7786
|
Add Message and Listener::getBuffered()
|
2017-01-13 18:46:32 -06:00 |
|
Aaron Piotrowski
|
df901a0305
|
Remove stream() method from Listener
|
2017-01-13 18:12:38 -06:00 |
|
Niklas Keller
|
8f245fa677
|
Drop Amp\choose
|
2017-01-13 19:09:17 +01:00 |
|
Aaron Piotrowski
|
a643f9a260
|
Remove last consumed value from listener before drain
|
2017-01-11 20:13:12 -06:00 |
|
Niklas Keller
|
6312ac15aa
|
Fix invalid watcher exception construction
|
2017-01-11 14:28:27 +01:00 |
|
Aaron Piotrowski
|
4c48037295
|
Add reference/unreference methods to Pause
|
2017-01-08 01:15:57 -06:00 |
|
Aaron Piotrowski
|
ae28eae552
|
Lazy → LazyPromise
|
2017-01-08 01:02:11 -06:00 |
|
Aaron Piotrowski
|
5ad1fdb38b
|
Add more Listener tests and kill another Humbug mutant
|
2017-01-08 00:22:07 -06:00 |
|
Niklas Keller
|
3b46c168a5
|
Improve tests and kill some Humbug mutants
|
2017-01-07 22:55:34 +01:00 |
|
Aaron Piotrowski
|
2976ebdbb5
|
Throw on consecutive calls to Listener::advance(); better property names
|
2017-01-07 12:31:36 -06:00 |
|
Aaron Piotrowski
|
cf5ebb1408
|
Better error message when emitting after resolve
|
2017-01-07 12:25:04 -06:00 |
|
Aaron Piotrowski
|
cba57dd81e
|
Simplify PrivatePromise and PrivateStream
|
2017-01-07 12:24:40 -06:00 |
|
Niklas Keller
|
ae69e92266
|
Update to promise 0.4.0 and event-loop 0.5.0, add humbug config
|
2017-01-07 13:47:45 +01:00 |
|
Niklas Keller
|
568183b261
|
Update to event-loop 0.5.0
|
2017-01-07 13:45:03 +01:00 |
|
Aaron Piotrowski
|
a47fc2bc01
|
Don't call uv_stop()
libuv will actually stop mid-tick, making the behavior inconsistent with the other loop implementations.
|
2017-01-06 10:50:05 -06:00 |
|
Aaron Piotrowski
|
e169bb649c
|
Remove unnecessary temp variable
|
2017-01-06 10:21:58 -06:00 |
|
Aaron Piotrowski
|
fbdc611e44
|
Activate watchers at begging of tick instead of end
|
2017-01-06 10:15:54 -06:00 |
|
Aaron Piotrowski
|
3e0cd85b67
|
Stop watchers in EvLoop::__destruct() to avoid segfault
|
2017-01-05 17:38:33 -06:00 |
|
Aaron Piotrowski
|
9706815714
|
Fix signals in multiple loops using event and ev extensions with epoll backend
|
2017-01-05 17:32:03 -06:00 |
|
Aaron Piotrowski
|
02c2fcf0fa
|
Add implementation using event extension
|
2017-01-05 14:08:33 -06:00 |
|
Aaron Piotrowski
|
06e50bdb88
|
Fix docblock
|
2017-01-05 12:39:34 -06:00 |
|
Aaron Piotrowski
|
80900189c9
|
Fix visibility of deactivate()
|
2017-01-05 12:39:10 -06:00 |
|
Aaron Piotrowski
|
9ff73ac681
|
Swap production and dev definitions for Deferred and Emitter
|
2017-01-04 10:24:51 -06:00 |
|
Aaron Piotrowski
|
210b6ff258
|
Observable → Stream
|
2017-01-03 19:10:27 -06:00 |
|
Aaron Piotrowski
|
a872f14fd4
|
Drop Amp\range(), add Amp\observableFromIterable()
|
2016-12-30 12:50:09 -06:00 |
|
Bob Weinand
|
26a707ed94
|
Always put the watcher back upon re-activation
|
2016-12-30 00:55:06 +01:00 |
|
Aaron Piotrowski
|
b5d5b8dff1
|
Drop loop wrapper functions
|
2016-12-29 16:57:08 -06:00 |
|
Aaron Piotrowski
|
5651240615
|
Update to promise spec v0.3
Dropped strict-types due to spec requiring weak types in callbacks.
|
2016-12-29 16:29:27 -06:00 |
|
Aaron Piotrowski
|
81f6d3f94f
|
Avoid pcntl bug with closures
|
2016-12-29 14:40:12 -06:00 |
|
Aaron Piotrowski
|
6f2a238087
|
Merge branch 'event-loop-v0.4' into uv
|
2016-12-28 23:50:30 -06:00 |
|
Aaron Piotrowski
|
b535a72161
|
Update for loop standard changes
|
2016-12-28 23:11:08 -06:00 |
|
Bob Weinand
|
04300eba89
|
Remove redundant destructor
|
2016-12-29 03:06:53 +01:00 |
|
Bob Weinand
|
7e875298b8
|
Use getInfo() in __debugInfo()
|
2016-12-29 01:50:41 +01:00 |
|
Aaron Piotrowski
|
8ab3918974
|
Remove \UV::RUN_ONCE if not blocking.
|
2016-12-28 16:16:09 -06:00 |
|
Aaron Piotrowski
|
225c0703ee
|
Merge branch 'event-loop-v0.4' into uv
|
2016-12-28 13:02:20 -06:00 |
|
Aaron Piotrowski
|
583a50fab7
|
Update for loop standard changes
|
2016-12-28 12:59:04 -06:00 |
|
Niklas Keller
|
2a65c0735b
|
Fix docblock for Placeholder::when
|
2016-12-23 23:48:24 +01:00 |
|
Bob Weinand
|
ef9216a00a
|
Do not block in Loop::dispatch() after Loop::stop()
|
2016-12-18 21:56:47 +01:00 |
|
Aaron Piotrowski
|
bc1ae1822c
|
Unreference watcher in Amp\timout()
|
2016-12-17 08:28:19 -06:00 |
|
Aaron Piotrowski
|
11f1c7e7c4
|
Amp\lazy() → Amp\Lazy
Plus some tests!
|
2016-12-15 18:50:33 -06:00 |
|
Aaron Piotrowski
|
93ad513ab1
|
Remove dead code
Deferred and Postponed will never throw from the functions they define.
|
2016-12-15 17:34:30 -06:00 |
|
Aaron Piotrowski
|
6e97e6630d
|
Fix some function bugs and add more tests
|
2016-12-15 17:31:57 -06:00 |
|
Niklas Keller
|
1bbcadaedd
|
Rename Observer::next to Observer::advance
|
2016-12-13 20:37:51 +01:00 |
|
Niklas Keller
|
1299e51ca6
|
Add tests for InvalidYieldError, improve key display
Without something like var_export, null and false are casted to an empty string.
|
2016-12-11 17:08:17 +01:00 |
|
Niklas Keller
|
e4d97caad7
|
Fix whitespace
|
2016-12-11 16:17:51 +01:00 |
|
Niklas Keller
|
2ba73e90fc
|
Fix documentation to point to when instead of then and done
|
2016-12-11 16:16:12 +01:00 |
|
Niklas Keller
|
bd7e84a138
|
Improve error messages
|
2016-12-11 16:12:42 +01:00 |
|
Daniel Lowrey
|
e3cdea2fce
|
Make exception messages more generic
|
2016-12-09 12:22:37 -05:00 |
|
Aaron Piotrowski
|
f95412770b
|
Lazy promise bugfix
|
2016-11-14 14:10:44 -06:00 |
|
Aaron Piotrowski
|
9927ad5b4f
|
Awaitable → Promise
|
2016-11-14 13:59:21 -06:00 |
|
Aaron Piotrowski
|
7f5142be88
|
Fix map() return type
|
2016-09-09 18:05:01 -05:00 |
|
Aaron Piotrowski
|
973a08c26b
|
Update for loop standard v0.3
|
2016-09-09 17:38:22 -05:00 |
|
Aaron Piotrowski
|
759af93112
|
Missed static; remove unused import
|
2016-09-07 12:24:49 -05:00 |
|
Aaron Piotrowski
|
0992eaea89
|
CallableFromMethod -> CallableMaker
|
2016-08-30 10:34:17 -05:00 |
|
Aaron Piotrowski
|
448391531e
|
Add CallableFromMethod trait
|
2016-08-29 18:35:49 -05:00 |
|
Aaron Piotrowski
|
220c969e12
|
Allow Amp\*() loop callbacks to return values
Asserting that the function be void if not a Generator turned out to be just annoying rather than helpful.
|
2016-08-29 12:40:13 -05:00 |
|
Aaron Piotrowski
|
44aee8de47
|
Restrict callback returns to void or Generator
|
2016-08-26 16:29:57 -05:00 |
|
Aaron Piotrowski
|
edf2984863
|
Update Observable-based functions
Some of the changes to Observables broke functions using them.
|
2016-08-23 13:22:24 -05:00 |
|
Aaron Piotrowski
|
f46912d387
|
Fix bug on null emits
|
2016-08-23 13:18:56 -05:00 |
|
Aaron Piotrowski
|
6e1c1db5a6
|
Drop special behavior when emitting an observable
|
2016-08-23 13:17:59 -05:00 |
|
Aaron Piotrowski
|
3ce0c0dd37
|
Resolve with boolean, not emitted value
|
2016-08-23 12:50:16 -05:00 |
|
Bob Weinand
|
c89f10eef0
|
Make Observer::drain() public
|
2016-08-23 16:21:05 +02:00 |
|
Aaron Piotrowski
|
5f1354bf1a
|
Add drain() method to Observer
|
2016-08-23 08:50:04 -05:00 |
|
Aaron Piotrowski
|
ddefcf21f9
|
Implement Observable in Success and Failure
|
2016-08-22 16:21:47 -05:00 |
|
Aaron Piotrowski
|
ef143534e3
|
Fix issue with resolved Observer not receiving all values
|
2016-08-22 10:54:39 -05:00 |
|
Aaron Piotrowski
|
96e1178b89
|
Code, docblock, and comment cleanup
|
2016-08-17 22:25:54 -05:00 |
|
Aaron Piotrowski
|
a8d7d71a1a
|
Drop Future and Producer
|
2016-08-17 21:17:31 -05:00 |
|
Aaron Piotrowski
|
d4e83490c2
|
Drop unsubscribing from Observable
|
2016-08-17 21:11:03 -05:00 |
|
Aaron Piotrowski
|
2317a3aa37
|
Unsubscribe from emitted observable if failed
|
2016-08-16 16:31:09 -05:00 |
|
Aaron Piotrowski
|
84c2572e0a
|
Prevent fail call after resolution
|
2016-08-16 13:30:32 -05:00 |
|
Aaron Piotrowski
|
bdc26e1e8b
|
Combine use statements
|
2016-08-16 13:07:51 -05:00 |
|
Aaron Piotrowski
|
dae4eb90da
|
Better Emitter fix; fail observable if emitted awaitable fails
|
2016-08-16 13:07:38 -05:00 |
|
Aaron Piotrowski
|
a8a5a1b3a5
|
Fix Emitter
|
2016-08-16 02:28:47 -05:00 |
|
Aaron Piotrowski
|
888229d667
|
Use strict types
|
2016-08-15 23:46:26 -05:00 |
|
Bob Weinand
|
6a87658ad8
|
Remove bogus .coveralls.yml file
|
2016-08-15 15:41:28 +02:00 |
|
Bob Weinand
|
e7d629e58f
|
Fix signals not being dispatched in NativeLoop
This was the case when at least one expired and non-expired timer existed.
|
2016-08-14 22:29:30 +02:00 |
|
Niklas Keller
|
cef92e9770
|
Doc fixes for Coroutine
|
2016-08-14 19:17:08 +02:00 |
|
Bob Weinand
|
dcf17e3f98
|
Optimize Producer & remove wait until first subscribe
Also delay first emit in Emitter until next tick
|
2016-08-14 16:57:17 +02:00 |
|
Bob Weinand
|
08d65bcd63
|
Make Subscriber not caring about $id type
|
2016-08-14 04:47:48 +02:00 |
|
Bob Weinand
|
80265b726e
|
Do not have final methods in Struct, functions may need to be overridden
|
2016-08-14 04:41:47 +02:00 |
|
Aaron Piotrowski
|
42d9b25c3d
|
Temp var unnecessary
|
2016-08-13 10:24:55 -05:00 |
|
Aaron Piotrowski
|
7bc08b9a6a
|
Replace leftover LogicExceptions exceptions with Error
|
2016-08-12 16:58:53 -05:00 |
|
Aaron Piotrowski
|
2ff32c2d6b
|
Remove unnecessary default parameter values
|
2016-08-12 16:38:36 -05:00 |
|
Aaron Piotrowski
|
66c38e1480
|
Refactor Amp\coroutine()
Any function can now be passed to this function, which now returns a function returning an awaitable.
|
2016-08-12 14:50:44 -05:00 |
|
Aaron Piotrowski
|
69ec812bc0
|
Require PHP 7
|
2016-08-11 14:52:40 -05:00 |
|
Aaron Piotrowski
|
658edf33f7
|
Use Closure::fromCallable() in 7.1
|
2016-08-11 13:33:51 -05:00 |
|
Aaron Piotrowski
|
ea66677a50
|
Update for Driver changes in spec
|
2016-08-06 08:58:37 -05:00 |
|
Aaron Piotrowski
|
aa7b76e842
|
Add awaitable/coroutine-aware loop functions
These functions mirror the standard loop methods, but run returned Generators as coroutines and invoke rethrow() on returned awaitables.
|
2016-08-02 12:48:32 -05:00 |
|
Aaron Piotrowski
|
13908fe2e5
|
Add concat() function
|
2016-08-01 11:10:59 -05:00 |
|
Aaron Piotrowski
|
9055f159e7
|
Revert some() to v1 behavior
|
2016-07-31 00:31:04 -05:00 |
|
Aaron Piotrowski
|
19e6440897
|
Fix native loop timers
|
2016-07-25 10:09:40 -05:00 |
|
Aaron Piotrowski
|
c2caca9d02
|
Fix functions using Subscriber as Awaitable
Use PHP_INT_MAX instead of 0 for infinite interval() count.
|
2016-07-20 08:53:18 -05:00 |
|
Aaron Piotrowski
|
7adc7d8452
|
Remove missed emit() default value
|
2016-07-20 08:52:19 -05:00 |
|
Aaron Piotrowski
|
8e794ba1d7
|
Fix stream()
|
2016-07-19 15:24:05 -05:00 |
|
Aaron Piotrowski
|
24142496d8
|
Rethrow subscriber callback exceptions from loop
|
2016-07-19 15:13:56 -05:00 |
|
Bob Weinand
|
1642bf9195
|
s/settle/any/ which now returns [$errors, $succeeds]
|
2016-07-19 21:39:09 +02:00 |
|