Aaron Piotrowski
6fd7fe5b11
Call posix_kill() in defer for better consistency
...
Using a short delay was sometimes not long enough to ensure that $sig2 was actually enabled before the signal was sent. Using a defer after enabling pushes the call to posix_kill() to the next tick.
2016-06-07 12:31:49 -05:00
Aaron Piotrowski
8c2063157b
Fix testEventsNotExecutedInSameTickAsEnabled
2016-06-07 12:25:59 -05:00
Aaron Piotrowski
93424c1c6e
Enable events in next tick
2016-06-07 12:24:53 -05:00
Aaron Piotrowski
f940934a0b
Update for latest standard changes
...
Plus some minor tweaks and more docs.
2016-06-07 00:18:59 -05:00
Aaron Piotrowski
cd0a03c0b2
Fix exception name / warning
2016-06-07 00:08:55 -05:00
Bob Weinand
085afe050e
Add registry, execution order tests and InvalidWatcherException handling
2016-06-07 01:53:28 +02:00
Bob Weinand
1e584697b3
Be a little more specific about enable/definition
...
Enable is when things get put back to the queue, hence that order shall be respected. Otherwise we get undefined behaviors when disabling deferreds which have yet to be executed and re-enabling them after the point they should have been executed.
2016-06-07 01:44:28 +02:00
Andrew Carter
ccb2180184
Clarified that cancel() can be used to prevent a memory leak ( #75 )
2016-06-06 22:37:17 +02:00
Aaron Piotrowski
289b0fe603
Merge pull request #74 from async-interop/calltime_guarantees
...
Specify exact guarantees when a callback has to be called
2016-06-05 22:45:14 -05:00
Aaron Piotrowski
c05ba0daa9
Merge pull request #72 from async-interop/invalid-watcher-handling
...
(Re-)Introduce InvalidWatcherException
2016-06-05 22:44:42 -05:00
Aaron Piotrowski
d29e175189
Merge pull request #71 from async-interop/defer-delay-invalidation-note
...
Add the invalidation note on defer/delay
2016-06-05 22:44:20 -05:00
Bob Weinand
cf012501a2
Specify exact guarantees when a callback has to be called
...
This prevents unexpected failures due to different execution orders in different implementations.
2016-06-04 20:28:25 +02:00
Bob Weinand
c9af067b46
Fix delays/intervals being able equal to zero
2016-06-04 00:10:47 +02:00
Bob Weinand
cca8008cba
Fix memory leak test
...
Add check for signal test
2016-06-04 00:07:16 +02:00
Aaron Piotrowski
6a9ec4ea9f
PSR-2: tabs -> spaces
2016-06-03 10:01:21 -05:00
Aaron Piotrowski
666bb332e1
Fix some bugs, refactor disable/unreference
2016-06-03 10:00:29 -05:00
Aaron Piotrowski
ffe714f1ef
Fix some tests; PSR-2 function definitions
2016-06-03 00:49:47 -05:00
Aaron Piotrowski
808ce32e3c
Fix leftover mentions of Disposable
2016-06-02 17:11:25 -05:00
Aaron Piotrowski
548a9fd556
Fix bug when emitting failed awaitable and waiting for a subscriber
2016-06-02 17:05:22 -05:00
Bob Weinand
f6c6f41adf
(Re-)Introduce InvalidWatcherException
...
Fixes #58
2016-06-02 21:56:36 +02:00
Bob Weinand
7cd03f3927
The watcher id must be invalidated before defer and delay callback calls
...
Fixes #70 .
2016-06-02 19:15:52 +02:00
Aaron Piotrowski
7fb57141d2
Cleanup yielded value handling
2016-06-02 10:46:22 -05:00
Aaron Piotrowski
5715bec9e1
Refactor functions with Emitter
2016-06-02 10:43:46 -05:00
Aaron Piotrowski
cef5c90168
Drop disposable interface; rename dispose() to unsubscribe()
2016-06-02 10:42:22 -05:00
Aaron Piotrowski
acbe2c8237
Add Registry; support streams with multiple watchers
2016-06-02 09:45:04 -05:00
Aaron Piotrowski
055d7d4c52
Update docblocks
2016-06-01 12:18:11 -05:00
Aaron Piotrowski
cd6939db5a
Build awaitable in when()
2016-06-01 12:10:46 -05:00
Aaron Piotrowski
b705c144c6
Minor tweaks
2016-06-01 12:06:43 -05:00
Aaron Piotrowski
906d6db47a
Update docblocks
2016-06-01 11:37:12 -05:00
Aaron Piotrowski
c4e9a19095
Rename Emitter to Producer; add new Emitter class
...
Emitter uses a coroutine to emit values. Updated examples.
2016-06-01 11:19:19 -05:00
Aaron Piotrowski
cc431a0374
Prevent emit without subscribers
2016-05-31 23:02:59 -05:00
Aaron Piotrowski
eb49e6e8ff
Resolve emit with observable result instead of emitting
...
Emitting another observable will emit values from the emitted observable, then resolve the awaitable returned from emit with the observable result
2016-05-31 16:23:01 -05:00
Aaron Piotrowski
a52e1e4c33
Rename Observer methods
2016-05-31 14:45:14 -05:00
Aaron Piotrowski
ae441eb179
Fix DummyDriver
...
Conflict due to merge of #68
2016-05-31 10:08:10 -05:00
Aaron Piotrowski
5a82cd9b6b
Merge pull request #67 from async-interop/defer-callback
...
Put Loop::execute() $callback into Driver::defer()
2016-05-31 10:00:11 -05:00
Aaron Piotrowski
3b338b5800
Merge pull request #65 from async-interop/lazy-fast-loop
...
Lazy factory instantiation and save method call
2016-05-31 09:57:18 -05:00
Bob Weinand
a503b8598d
Lazy factory instantiation and save method call
2016-05-31 14:50:33 +02:00
Bob Weinand
1c30c349c4
Merge pull request #68 from async-interop/driver-registry
...
Driver registry
2016-05-31 14:46:57 +02:00
Aaron Piotrowski
1b079bb336
Fix Observer
2016-05-30 00:34:44 -05:00
Aaron Piotrowski
579ab2fc96
Update example
2016-05-29 12:07:21 -05:00
Aaron Piotrowski
57e25f9354
Simpler implementation
2016-05-29 11:46:58 -05:00
Aaron Piotrowski
da3bbdf90c
Null default for Success
2016-05-29 10:40:00 -05:00
Aaron Piotrowski
4a2baa670e
Subscriber model
2016-05-27 15:44:01 -05:00
Aaron Piotrowski
4aa8c5d550
Add loop tests
2016-05-27 15:07:05 -05:00
Aaron Piotrowski
ff1e57a7cd
Fix autoloader namespace
2016-05-27 14:55:19 -05:00
Aaron Piotrowski
237a9c45ad
Update registry test
2016-05-27 11:38:19 -05:00
Aaron Piotrowski
4908813e08
Refactor Registry for Drivers
2016-05-27 10:45:45 -05:00
Aaron Piotrowski
ca827319ec
Standard updates and more
...
Update for changes in async-interop/event-loop.
Do not invalidate delay and defer on disable.
Better watcher ID generation.
Throw if enabling invalid watcher.
2016-05-27 10:16:36 -05:00
Bob Weinand
de3c259557
Turns out it is better to not fail for invalid watcher ids
2016-05-27 15:20:39 +02:00
Bob Weinand
104b761e59
Revert "Merge pull request #63 from async-interop/throw-on-invalid-watcher"
...
This reverts commit 5bd7794dfa
, reversing
changes made to 64494951ff
.
Revert too quick merge (sorry) as per #58
2016-05-27 14:57:11 +02:00