Giter Site home page Giter Site logo

Add asynchronous fetch support about porter HOT 3 CLOSED

Bilge avatar Bilge commented on August 25, 2024 1
Add asynchronous fetch support

from porter.

Comments (3)

Bilge avatar Bilge commented on August 25, 2024

The only non-blocking network facility in PHP 7 is the raw socket.

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

This has also been independently confirmed by async expert and internals contributor, @bwoebi.

This means that each network protocol has to be implemented using raw socket programming which, needless to say, is extremely laborious and error prone. All the major fledgling async frameworks (React, amphp, icicle.io) provide an HTTP client implementation but they have not been battle tested in a wide variety of real-world scenarios like the PHP stream wrapper and may contain bugs. Moreover, they do not provide other protocols found in PHP such as SOAP.

Given the current level of maturity of async frameworks, I do not think it is practical to resolve this issue until async primitives are available in the PHP language or a wider range of async network protocols are supported.

from porter.

Bilge avatar Bilge commented on August 25, 2024

It seems amphp is reaching a reasonable level of maturity, however the latest iteration supports PHP 7 only, so this issue may be on hold until Porter has dropped support for earlier PHP versions.

from porter.

Bilge avatar Bilge commented on August 25, 2024

This has been merged with #54.

from porter.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.