Skip to content
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

[WIP] Libuv Adapter #69

Closed
wants to merge 10 commits into from
Closed

[WIP] Libuv Adapter #69

wants to merge 10 commits into from

Conversation

ghost
Copy link

@ghost ghost commented May 5, 2019

This PR adds a libuv based adapter to react/filesystem. This PR builds on top of #65 and #67 and as such stays as draft until these PRs get merged. The PR will be rebased once ready.

For the UV adapter the unit tests are functional and will build a foundation for a future pull request to refactor the unit tests. I've added a helper method to concat paths for cross compatibility.

This PR is not fully ready yet, but opening a PR will help getting some comments and feedback during development. This PR closes #9.

@clue clue changed the title Libuv Adapter [WIP] Libuv Adapter May 12, 2019
Copy link
Member

@clue clue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@CharlotteDunois Love the direction, thanks for working on this! 🥇 👍

What is missing in this PR? Is there anything that we can do to help this progress?

More of an aside, but personally I would probably vote to not depend on #67 at the moment, as I don't see any major dependency here.

@ghost
Copy link
Author

ghost commented May 12, 2019

@clue Unit tests are added for libuv (which pass), however I noticed there are some underlying issues with the libuv event loop, because other unit tests are failing (with the libuv event loop and eio or child process adapter). This requires more investigation.

And the major dependency on #67 for this PR is performance and future security fixes. I don't like supporting old, unmaintained versions, simply because it encourages others to not upgrade (mostly comfort and laziness in their case). ReactPHP (and mostly the event loop and filesystem components) are targeting CLI applications anyway, which requires access through SSH (or similar mechanisms) to work. If you have SSH access you can simply upgrade the PHP version for any Linux distribution in a very simple way (for Windows you can just download a new binary). And let's be honest here, there's no reason not to upgrade to PHP7. Dropping support for PHP5 encourages others to upgrade.

It's just my opinion, but I see no reason why we should keep supporting PHP5. Bugfixes have stopped over two years ago.

@clue
Copy link
Member

clue commented May 12, 2019

[…] other unit tests are failing (with the libuv event loop and eio or child process adapter). This requires more investigation.

Interesting, let's focus on this part to move this forward. Does it make sense to address this in a separate ticket? Does anybody have any insights?

@ghost
Copy link
Author

ghost commented May 12, 2019

[…] other unit tests are failing (with the libuv event loop and eio or child process adapter). This requires more investigation.

Interesting, let's focus on this part to move this forward. Does it make sense to address this in a separate ticket? Does anybody have any insights?

Maybe it makes sense to address this in a separate ticket. However I see no value gained if merging this PR causes everything else to break.

If you're interested in a travis build history, here's one, they're mostly timeouts. Some tests work with ext-uv and child process adapter and some don't - why is unknown to me.

@ghost ghost closed this Dec 5, 2019
@ghost ghost mentioned this pull request Dec 26, 2019
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Consider adding libuv-based backend
1 participant