-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reintroduce the ext-eio adapter #112
Reintroduce the ext-eio adapter #112
Conversation
7c14347
to
b325284
Compare
75f631c
to
6e91496
Compare
This ties in directly with reactphp/filesystem#112 where if both ext-eio and ext-uv are present ext-uv interferes with ext-eio. By putting it lower in the factory construction method it will favor ext-eio over ext-uv for filesystem I/O is there is also a another event loop extension present.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@WyriHaximus Great progress! I've added some questions below, but like the direction overall!
bea9816
to
f683982
Compare
913b2fa
to
d7085d0
Compare
@clue updated the PR with findings regarding ext-eio and ext-uv, managed to resolve the issues, details in review thread |
Does the new adapter handle when eio_open returns false (or any other call, but eio_open appears to be the most common)?, it's undocumented but if you look into the PECL library you can see the error path that RETURN_FALSE instead of -1 See #43 was the reason we had to move to the child process for file operations |
As in it returns false, and doesn't call the handler you give it. Or it calls with handler with a false?
Will have a thorough look again at #43, but during development, I haven't run into those issues for 0.2. 0.2 is aimed a keeping things a lot simpler and avoiding making the same mistakes I made in 0.1. |
c6187f8
to
f380a64
Compare
During the initial rewrite this adapter was removed to make the rewrite easier. Since that is now in adding the ext-eio adapter will provide several high performance adapters.
f380a64
to
e469054
Compare
@WyriHaximus I've noticed the new eio related classes don't currently have 100% code coverage, is this something you plan to look into? Otherwise no objects to go ahead with this from my end 👍 |
@clue yes, in the next PR I'll address several code coverage issues across the board by covering more situations such as partial reads. |
Personally, I'd like to see better code coverage for this new adapter to make sure we're not introducing any regressions before moving forward with this. For instance, the @WyriHaximus Let's merge this as is? |
@clue Works for me, that is exactly what I'll be addressing in the follow up PR |
During the initial rewrite this adapter was removed to make the rewrite easier. Since that is now in adding the ext-eio adapter will provide several high performance adapters.