Niklas Keller
f2f21ef0c0
Refactor UvDriver and UvHandle to use UvPoll as busy watcher
...
Fixes #16 .
2017-06-20 23:39:14 +02:00
Niklas Keller
6d2ca5e2b2
Fix EioPoll busy watcher
...
Previously we used listen() + done(). This API design is quite prone to
errors, as it's easy to miss a done() call in some branch. Additionally
this commit ensures that pending operations are always completed before
the EioPoll is completely destructed. Previously unfinished operations
leaked into new EioPoll instances.
2017-06-20 22:59:23 +02:00
Aaron Piotrowski
8cd21e4994
Fix EioPoll destruction
...
The callback was holding a reference to $this. Hopefully this fixes the watcher cancellation issues.
2017-06-20 13:41:53 -05:00
Niklas Keller
2eb8eb7662
Clean up execute for tests
2017-06-20 19:37:41 +02:00
Niklas Keller
4cccc8d0f7
Ensure reads resolve to null on EOF, fixes #13
2017-06-20 18:25:37 +02:00
Niklas Keller
dd64670987
Make StatCache compatible with loop resets
2017-06-20 17:40:47 +02:00
Niklas Keller
587514b598
Reintroduce operation watching for UV and array_filter fix
2017-06-20 13:38:36 +02:00
Niklas Keller
a8048dcc60
Don't yield first write in testWrite
2017-06-20 07:58:30 +02:00
Aaron Piotrowski
c98ea5ec42
Fix code style from merge
2017-06-20 00:31:58 -05:00
Aaron Piotrowski
9e7c1c1488
Forbid simultaneous conflicting ops
...
Signficantly refactored EioHandle and UvHandle.
2017-06-20 00:17:07 -05:00
Aaron Piotrowski
6113cfa453
Use object for eio polling
2017-06-20 00:14:11 -05:00
Niklas Keller
f21ff58272
Use counter to prevent race conditions in UvDriver
...
Fixes #16 .
2017-06-18 21:03:44 +02:00
Niklas Keller
75d2a77951
Account for umask in file permission assertion
2017-06-18 20:38:03 +02:00
Niklas Keller
5e1651468b
Revert backslash normalization
2017-06-18 00:33:22 +02:00
Niklas Keller
7d2c28dd37
Don't use backslash in fixture
2017-06-18 00:26:34 +02:00
Niklas Keller
0708ba14b3
Handle backslashes in paths correctly
2017-06-17 23:51:29 +02:00
Niklas Keller
1a46ea9b13
Remove bogus array_filter to allow 0 as directory name
2017-06-17 23:47:08 +02:00
Niklas Keller
62428ca0ef
Fix code style
2017-06-17 23:41:57 +02:00
Niklas Keller
7a96e10a35
Fix failing testMkdirRmdir
2017-06-17 15:36:51 +02:00
Aaron Piotrowski
e6f3661e62
Use constant in interface definition
2017-06-16 18:22:57 -05:00
Aaron Piotrowski
0becf8af09
Add nonblock and fsync flags in eio
...
Not 100% if these are needed, but it doesn't seem to hurt either.
2017-06-16 18:22:34 -05:00
Aaron Piotrowski
4f9630298f
Throw FilesytemException on closed file
...
We may wish to change this later, but at least it is consistent between drivers now.
2017-06-16 18:21:56 -05:00
Aaron Piotrowski
477683f58f
Use Fixture in Driver test; general test cleanup
2017-06-16 18:12:42 -05:00
Niklas Keller
7e864b9578
Remove outdated .coveralls.yml
2017-06-16 13:34:38 +02:00
Niklas Keller
770157c94e
Require amphp/parallel, use stable libs
2017-06-16 13:31:28 +02:00
Niklas Keller
212e2a5450
Update to stable Amp release
2017-06-15 19:48:45 +02:00
Aaron Piotrowski
3c2e542fd2
Fix script permissions
2017-05-18 11:15:29 -05:00
Aaron Piotrowski
834ccb42fe
Move extension installation to separate scripts
2017-05-18 11:12:17 -05:00
Aaron Piotrowski
5e5c8ab85b
Close handle after each test; Fix pool startup and shutdown
2017-05-18 10:31:20 -05:00
Aaron Piotrowski
d32ab898ba
Update for parallel namespace changes
2017-05-18 09:33:52 -05:00
Aaron Piotrowski
783ad03940
Use separate pool for each parallel test
...
Shutdown the pool after each test to avoid spawning many workers.
2017-05-17 22:59:17 -05:00
Aaron Piotrowski
32454e960b
Upgrade to PHPUnit 6
2017-05-17 22:58:39 -05:00
Aaron Piotrowski
cadc86d85a
Function for parsing mode
2017-05-17 22:34:27 -05:00
Aaron Piotrowski
6ad1b8e55f
Update for object-based uv extension
2017-05-16 19:55:24 -05:00
Aaron Piotrowski
a05915f953
Change invalid mode to Error; throw instead of returning Failure
2017-05-16 19:46:59 -05:00
Niklas Keller
64249c2c62
Merge pull request #12 from amphp/streams
...
Streams
2017-05-16 19:11:47 +02:00
Aaron Piotrowski
9b8b1daeb0
Implement stream interfaces in Handle
2017-05-12 15:43:23 -05:00
Aaron Piotrowski
b8c3321533
Fix mode to flags parsing
2017-05-12 15:38:03 -05:00
Aaron Piotrowski
1f264d949e
Revert "Use byte-stream package"
...
This reverts commit ffde7791d7
.
Oops… wrong branch.
2017-05-12 10:12:44 -05:00
Aaron Piotrowski
ffde7791d7
Use byte-stream package
2017-05-11 18:17:35 -05:00
Aaron Piotrowski
97256b9029
when() → onResolve()
2017-03-21 18:53:55 -05:00
Aaron Piotrowski
b3f354472f
Update for async-interop merge and other Amp changes
2017-03-16 22:39:49 -05:00
Aaron Piotrowski
0d76557e8e
Fix UV driver
2017-01-11 10:29:14 -06:00
Aaron Piotrowski
97b2d20534
Merge branch 'amp_v2' of https://github.com/amphp/file into amp_v2
2017-01-11 09:55:20 -06:00
Niklas Keller
a26ba1ca1f
Change interop namespace
2017-01-11 14:22:06 +01:00
Aaron Piotrowski
650c448497
Update ParallelDriver with recursive mkdir()
2017-01-11 00:05:35 -06:00
Aaron Piotrowski
78ec5cc634
Merge branch 'master' into amp_v2
2017-01-11 00:05:18 -06:00
Aaron Piotrowski
994f05e88f
Update travis build
2016-12-29 21:00:05 -06:00
Aaron Piotrowski
c6e6c32aaf
Drop strict types
...
Dropping strict types so it is not enforced in callbacks provided by application code.
2016-12-29 20:59:59 -06:00
Aaron Piotrowski
ffb21714e9
Awaitable → Promise
2016-11-14 23:17:19 -06:00