Niklas Keller
1657284608
Add TracingDriver for debugging ( #283 )
2019-10-01 21:01:44 +02:00
Niklas Keller
95b2af334b
Fix arrow position in sequential-vs-concurrent.png
2019-09-22 13:38:53 +02:00
Niklas Keller
49a0bf693d
Update changelog
2019-09-21 23:29:37 +02:00
Niklas Keller
ddf23f8a99
Minor README changes
2019-09-21 23:24:07 +02:00
Niklas Keller
4d849191e5
Fix build on Travis ( #281 )
2019-09-21 23:17:45 +02:00
Niklas Keller
11215534e8
Improve README
2019-09-21 21:02:47 +02:00
Niklas Keller
f5463656f4
Improve meta files
2019-09-21 18:35:24 +02:00
Aaron Piotrowski
a726db92a5
Only create deferred for backpressure if necessary
2019-09-21 18:30:14 +02:00
Niklas Keller
c45cd5a3a9
Fix backpressure release
...
Previously, backpressure was only released once advance() was called
again. This means the last backpressure item was never free'd in case
the caller knows there are no more items to consume and didn't call
advance() the last time.
2019-09-21 18:30:14 +02:00
Jáchym Toušek
27ea578649
Add links to pecl and git repositories ( #269 )
2019-09-19 15:50:20 +02:00
c6a775a6c9
Add delay function ( #278 )
2019-08-02 22:37:42 +02:00
Niklas Keller
b57fc2e2b3
Remove PHP 7.1 feature usage for 7.0 compat
2019-08-02 22:16:57 +02:00
Niklas Keller
d4fc8ce7b3
Add CombinedCancellationToken
...
Implementation has been used in http-client before.
2019-08-02 22:09:38 +02:00
Niklas Keller
f824f0df1d
Ignore code coverage for getCurrentTime on 32 bit
2019-05-31 20:42:02 +02:00
Niklas Keller
72a0db5cdc
Warn if time is about to overflow on 32 bit
2019-05-31 20:15:22 +02:00
Niklas Keller
8b38da2f9c
Support 32-bit platforms
2019-05-31 12:59:23 -05:00
Aaron Piotrowski
5316e741b7
Different approach for 32-bit support
...
Prior version made time run backwards… oops.
2019-05-31 12:48:03 -05:00
Niklas Keller
154142464a
Remove Gemfile.lock
2019-05-31 19:12:09 +02:00
dependabot[bot]
0240f01a74
Bump nokogiri from 1.8.2 to 1.10.3 in /docs ( #272 )
...
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri ) from 1.8.2 to 1.10.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases )
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md )
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.8.2...v1.10.3 )
2019-05-31 18:55:15 +02:00
Aaron Piotrowski
a4fd818e13
Swap sign of returned time on 32-bit systems
2019-05-31 11:40:56 -05:00
Aaron Piotrowski
5dcdd83959
Declare variables as static within function
2019-05-31 11:38:02 -05:00
Niklas Keller
944a2dd29d
Move Coroutine::__destruct to Placeholder
2019-05-31 11:38:02 -05:00
Niklas Keller
58c7bfb689
Improve try / catch nesting
2019-05-31 11:38:02 -05:00
Niklas Keller
558f1e9876
Catch also \Exception in clearLoopRethrows()
2019-05-31 11:38:02 -05:00
Niklas Keller
214443b8c6
Fix code style
2019-05-31 11:38:02 -05:00
Niklas Keller
c12828081f
Fix exceptions bubbling from Coroutine::__destruct
...
This has been an edge case potentially hiding some exceptions. The tests have been refactored to error if the loop has watchers leaking from one test to another test.
2019-05-31 11:38:02 -05:00
Niklas Keller
aeb5de16d9
Add failing Coroutine test
2019-05-31 11:38:02 -05:00
Niklas Keller
a660af794b
Annotate that throwIfRequested might throw CancelledException
2019-05-30 15:13:38 +02:00
Markus Staab
4e822395c9
Fix typo ( #268 )
2019-04-18 18:41:34 +02:00
Aaron Piotrowski
272f78dcb2
Note method to retreive array of exceptions
2019-03-02 09:22:06 -06:00
Aaron Piotrowski
19bcf9b33d
Use shared style repo
2019-02-25 23:09:26 -06:00
Aaron Piotrowski
4e3251cba9
Test on PHP 7.3 & 7.4
2019-02-25 23:04:03 -06:00
Aaron Piotrowski
ef83723a79
Fix signal handler in NativeDriver when used with pcntl_async_signals
...
Fixes #264 .
2019-02-25 18:05:47 -06:00
Gildas Quéméner
afb6000f32
Fix typo on homepage ( #263 )
2019-02-13 12:57:38 +01:00
Masiukevich Maksim
0fd6b8c157
Fix phpdoc types for call / asyncCall ( #260 )
...
Incorrect types were indicated, due to which static analysis led to false positives.
2019-02-05 18:32:32 +01:00
Aaron Piotrowski
c6f8425473
Use a custom priority queue for timers
...
Fixes #220 by allowing immediate removal of the watcher from the queue. Insert and extract is O(log(n)), peeking is O(1), and removal is O(n).
2019-01-24 13:09:11 -06:00
Aaron Piotrowski
b6fc1e12d4
Move nowUpdateNeeded setting to getTimeout()
...
Essentially the same fix as @bwoebi committed, just placed at the source of the problem.
2019-01-21 10:27:49 -06:00
Bob Weinand
c3afc5e977
Fix #256 - Ensure nowUpdateNeeded is set to true after a blocking wait in NativeDriver
...
So that expired timeouts also indeed do trigger immediately instead of in the next tick.
2019-01-21 16:41:30 +01:00
Aaron Piotrowski
216315ee5c
Update Loop::now() docs
2018-12-12 10:30:48 -06:00
Bob Weinand
7075ef7d74
Fix #251 - 100% CPU usage in NativeDriver
...
Also use better bounds for timer - it must not execute before, but may execute a little later (on my system it were up to 7 ms actually)
2018-12-11 11:31:37 +01:00
Niklas Keller
23b8bd2cfe
Added CHANGELOG entries for v2.1.0
2018-12-10 20:13:25 +01:00
Niklas Keller
5622edba37
Implement monotonic timer using PHP 7.3's hrtime()
2018-12-10 20:07:11 +01:00
Aaron Piotrowski
5889f4e0fd
Randomize loop now offset
2018-11-26 21:59:15 +01:00
Aaron Piotrowski
d82c34d30b
Add docs for Loop::now()
2018-11-26 21:59:15 +01:00
Aaron Piotrowski
77a12c823b
Add Loop::now()
2018-11-26 21:59:15 +01:00
Sascha-Oliver Prolic
96c2eeaa1f
Add Promise\wrap ( #234 )
2018-11-26 19:36:46 +01:00
SAMUEL NELA
9140197046
Update copyright ( #242 )
2018-11-25 18:00:57 +01:00
Sascha-Oliver Prolic
4a98cc4fde
Add timeoutWithDefault function ( #245 )
2018-11-25 17:56:42 +01:00
Niklas Keller
b73e03bfe2
Rename Iterator\collect to Iterator\toArray
2018-11-25 17:09:50 +01:00
Niklas Keller
a60a8e1906
Add tests for Iterator\collect
2018-11-25 17:09:50 +01:00