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

Need advice - async wrapper to FFI (threaded foreign function interface) #45

Open
uasan opened this issue May 26, 2017 · 0 comments
Open

Comments

@uasan
Copy link

uasan commented May 26, 2017

Hello.

I'm trying to develop async API, for PHP module Vips (fast image processing library):
libvips/php-vips-ext#8

This module implemented FFI (Foreign Function Interface) for libvips, not pipe/socket.
Can somehow do it with libuv, so that FFI calls not blocking PHP process?

Thank.

TheTechsTech added a commit to symplely/uv-ffi that referenced this issue Aug 3, 2022
…t-uv

- added back `ext-uv` C source code until all functions within is implemented.
- added functions/methods for direct Zval handling, a rewrite from https://github.com/lisachenko/z-engine.
- updated each platform `libuv` cdef *.h header files, currently only Windows version is used for implementation at the moment.
- added `zend api` *.h headers.
- additional tests implemented.
- updated examples to use ffi version by adding `require 'vendor/autoload.php';`
- updated CI to build/use libuv 1.44.2.
- additional stubs/updates for IDE static analysis.
- update Readme sections and progress.
- discovered `ext-uv` issue amphp/ext-uv#78 not really a real issue. The tests and examples using old `libuv` version that does not do a conversion on Windows from '0.0.0.0', changing to '127.0.0.1' everything works.
- also `uv_tty_init($loop, STDOUT,0)` can be used instead for `uv_pipe_open($loop, STDOUT)` that does not work on Windows and according to libuv/help#120 it's the best solution.
- added an emulation mode for `uv_pipe_open($loop, STDOUT)` under Windows, by using `uv_pipe()` internally.
- Todo: address amphp/ext-uv#82 and amphp/ext-uv#45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant