Markus Staab
f170acee71
Check array index instead of error suppression
2015-08-18 16:01:08 +02:00
Niklas Keller
8031623a8f
Check array index instead of error suppression
2015-08-18 14:46:34 +02:00
Niklas Keller
2fe4c65faa
Catch Throwables in __coroutineSend on PHP 7
2015-08-18 08:55:44 +02:00
Daniel Lowrey
861fca1ebd
Fix outdated docblocks
2015-08-16 20:33:07 -04:00
Daniel Lowrey
3d1fde0812
Use correct uv flags to prevent UvReactor::tick() from hanging in edge-case scenarios
2015-08-11 20:01:25 -04:00
Daniel Lowrey
7df9b175ef
Perform manual GC prior to run loop end
2015-08-10 13:36:25 -04:00
Daniel Lowrey
6612bb84df
Revert "gc just to be safe prior to run loop exit"
...
This reverts commit ad4831888f
.
2015-08-08 11:50:22 -04:00
Daniel Lowrey
5cad406795
Normalize coroutine() return to Promise type
2015-08-07 11:01:36 -04:00
Daniel Lowrey
ad4831888f
gc just to be safe prior to run loop exit
2015-08-06 14:37:29 -04:00
Niklas Keller
39d3212fb0
Fix documentation for Failure
2015-08-05 23:45:29 +02:00
Niklas Keller
e00d5a7c41
Fix documentation for Failure
2015-08-05 22:49:32 +02:00
Daniel Lowrey
e209ee189d
Don't unload watchers when the run loop finishes
2015-08-05 13:13:16 -04:00
Daniel Lowrey
a7b057ace1
Add leading namespace slash for built-in functions
2015-08-04 23:58:49 -04:00
Daniel Lowrey
cf206dd898
Add "state" key to Amp\info() return array
2015-08-04 23:47:20 -04:00
Daniel Lowrey
70f4971ae1
Remove stream() in favor of PromiseStream
2015-08-04 23:46:49 -04:00
Daniel Lowrey
7c35dc7efd
Fix keep_alive refcount off-by-one error in reactor implementations
2015-08-04 23:11:52 -04:00
Daniel Lowrey
98f609a99a
Clear watchers on run() loop exit, throw on invalid run/tick/stop calls
2015-08-04 11:07:13 -04:00
Daniel Lowrey
f840ee4334
update incorrect docblock
2015-08-01 23:03:25 -04:00
Daniel Lowrey
2c8727133e
functor argument is now optional in Amp\filter()
...
If no functor parameter is supplied, all results equal to FALSE
using a (bool) cast will be removed.
2015-08-01 13:28:41 -04:00
Daniel Lowrey
705c57483b
Fail promise timeout() operations using TimeoutException
2015-07-31 15:50:27 -04:00
Daniel Lowrey
094899a74b
Add boolean "keep_alive" option for all watcher types
...
This option determines if the watcher will keep the run() loop
from returning. By default all watchers set "keep_alive" => true.
Setting this value to false is ideal for registering non-crucial
watchers (e.g. cache invalidation timers) that should run for the
life of the program but shouldn't prevent the event loop from
returning if all essential tasks have completed.
<?php
echo "before run\n";
run(function () {
immediately(function () {
echo "immediately\n";
});
once(function () {
echo "once\n";
}, 100, ["keep_alive" => false]);
repeat(function () {
echo "repeat\n";
}, 500, ["keep_alive" => false]);
echo "onStart end\n";
});
echo "after run\n";
The above snippet will have the following output:
before run
immediately
after run
The Amp\info() function now also reports the number of
keep_alive watchers currently registered via the "keep_alive" key.
2015-07-31 09:32:22 -04:00
Daniel Lowrey
bdd8503cbe
init() -> driver()
2015-07-31 09:32:21 -04:00
Daniel Lowrey
b1f400cad5
misc v1 cleanup
2015-07-29 23:23:53 -04:00
Daniel Lowrey
56b6330114
Use object hashes as watcher IDs
2015-07-29 22:12:53 -04:00
Daniel Lowrey
8bcbba41a0
Move to procedural API
2015-07-29 16:59:53 -04:00
Daniel Lowrey
1d9d572ee5
promise updates are no longer variadic + misc formatting
2015-07-27 10:08:02 -04:00
Daniel Lowrey
38b3fbbbbb
move PromiseStream functionality into Amp\stream()
2015-07-23 15:23:45 -04:00
Daniel Lowrey
e18b090902
use fully qualified namespace for global functions
2015-07-23 01:32:52 -04:00
Daniel Lowrey
55e379e332
Rollback static coroutine methods to namespaced functions
2015-07-23 01:30:53 -04:00
Daniel Lowrey
a4636851d6
remove deprecated functions
2015-07-22 14:49:40 -04:00
Daniel Lowrey
7335cb2517
use explicit FQDN for compile time optimizations
2015-07-22 13:54:29 -04:00
Daniel Lowrey
09e000a6d7
allow nested tick
2015-07-22 13:12:21 -04:00
Daniel Lowrey
1fa9771dde
update coverage ignore
2015-07-22 13:12:14 -04:00
Daniel Lowrey
505c59d0e3
minor cleanup
2015-07-22 12:34:42 -04:00
Daniel Lowrey
f6be176a07
cleanup + tests
2015-07-22 11:38:17 -04:00
Daniel Lowrey
cdc5fecd47
Remove Streamable interface
2015-07-22 00:10:09 -04:00
Daniel Lowrey
79a33c09fe
misc + testing
2015-07-21 23:59:20 -04:00
Daniel Lowrey
2cea028b1c
filter() updates and tests
2015-07-21 20:09:27 -04:00
Daniel Lowrey
33fd20acb3
add tests
2015-07-21 17:25:18 -04:00
Daniel Lowrey
dcab6907c0
minor cleanup
2015-07-21 17:25:11 -04:00
Daniel Lowrey
d6b674b93b
Move coroutine functions into new Coroutine class
2015-07-21 16:14:50 -04:00
Daniel Lowrey
564a81c519
misc updates + tests
2015-07-21 12:25:34 -04:00
Daniel Lowrey
c8bbf8208f
misc updates
2015-07-20 22:40:06 -04:00
Daniel Lowrey
0e6560070b
misc updates and tests
2015-07-20 22:27:11 -04:00
Daniel Lowrey
10037fe859
Miscellaneous reactor cleanup
2015-07-20 15:42:56 -04:00
Daniel Lowrey
288530d296
Add EvReactor
2015-07-20 15:42:42 -04:00
Daniel Lowrey
28154b4d70
Fix missing stream property assignment
2015-07-19 13:53:26 -04:00
Daniel Lowrey
d8a0c147e6
Add manual watcher refcount manipulation methods
2015-07-10 15:36:13 -04:00
Daniel Lowrey
4d4e9bad32
Replace BaseException refs with Throwable
2015-07-07 10:15:57 -04:00
Daniel Lowrey
ad96a584d5
Check coroutine nesting level before incurring "next tick" overhead
2015-06-16 12:08:24 -04:00