Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126408 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 1546D1A00BC for ; Fri, 14 Feb 2025 13:05:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1739538166; bh=SVRAQTjXmszCcEWsVZgAp8Ig2rz9/CxyX/c08oZbiP8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=nWaJ1zmgnWFQpCKeFdCGjtdvX108JjKXvJltW0VrnqYXc0vxP4/HU8Fq5bb4m8E3q 3TuBYzIBgO8QOiwB4ymRp2UIw8rJxYDlkTDa9z616s0BN+9UqKS1hs6Znqnlyh0yrj bubDpFVvDdFGLdBViLcBcdstP+08rzyl9tAoMdeHpkgjEZo4mZZ0r/TOoc/1x1ja9t onEXDe1VmcM2mqumKCDbRv8y+WusImMLSAjPEie/XYyZE0n0pJALHIHN4Mh5JR0ElQ OGOigMM01brs9FgCcMvJV5T/3NxBc0qftULmxRyZZb79ypBl15hDklhSdUJ8z1X3oH UeKBgn4JO8e3Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 6CFEC180086 for ; Fri, 14 Feb 2025 13:02:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=2.0 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-oo1-f48.google.com (mail-oo1-f48.google.com [209.85.161.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 14 Feb 2025 13:02:45 +0000 (UTC) Received: by mail-oo1-f48.google.com with SMTP id 006d021491bc7-5fc9789a258so1931115eaf.0 for ; Fri, 14 Feb 2025 05:05:27 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739538327; x=1740143127; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=luZsn7Pdk9hYoJ3+CkWhWlmEYlLD7r9q6tvWBI0GlAM=; b=f83tpqgDebv1sprSORWgnYk1ZiokH5Dh/I/93O9TkEnt0Lx4yDzv92Qog36Au9iYuz 7Wi1J6SmeFBpwF06b4RjKwwhGQhybjBbUUXULaMojRyFVcFZ1XKfF/oI/c50Tawziy93 bueOjwwqhKzXgyIWycIkVo2R6NnrN/ZMSfFaUXhy4iJH5AH5dYDYoeiVzU2WgNa/1DaB FG7fYLBUAmWuL1BP/zSASbp+0zuMe/uplIrD4w0gamvKOzhwzFTK5e/s4/wxYcZP9PDk iRrf77/SaU5ZWjcajMQTvLOl9ROqh6hMWreJ4wy32dV6XTi8d8gwNGEcQKJXvy8lB4L+ GUAg== X-Gm-Message-State: AOJu0Ywt/L3Vrxdg5i1pvSXJFzdx0T4ttLpq439GrEltoW8q9Id9kDjv tOYnQzhqpk796njatkpvtnOFnkUMpxGkoo3UJjxSfPI4/OENr1qwR1p0NAOh3CQPSyKJbpmZo5X H/sWadhN+BwiXp8vCTPd8K7RYR08= X-Gm-Gg: ASbGncts+XcB/A11VuRQYDjxTHMmo2bcLsvZpRIDq+USO+sNiJnALyoLxzbFWzC3drI nGRQ5hBTgsomBKAesnvPsJDSmaq06SBmklSvM6Ekxzgi9SRYHWktdo5Zwa7gXajUUkzRxMw== X-Google-Smtp-Source: AGHT+IFbn8hw+HTOmSYyRnNyg8LcxKTykd83+iopRdIfeNhK6AO5TqlcEDnRximTMhj60YZYP3ewgcRDpseBtHEtknA= X-Received: by 2002:a05:6870:ff92:b0:29e:6dea:223a with SMTP id 586e51a60fabf-2b8fb2a7d7amr4287386fac.14.1739538326989; Fri, 14 Feb 2025 05:05:26 -0800 (PST) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 14 Feb 2025 14:05:15 +0100 X-Gm-Features: AWEUYZmFDA5p4eho6jw5RbEqP-HTTokzNKwkjcMEhp1ZHlQiIuIBomAVN-ZKr3s Message-ID: Subject: Re: [PHP-DEV] PHP True Async To: Edmond Dantes Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000000db249062e19d460" From: bukka@php.net (Jakub Zelenka) --0000000000000db249062e19d460 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi On Fri, Feb 14, 2025 at 12:24=E2=80=AFPM Edmond Dantes wrote: > Good day, everyone. > > I would like to request permission to create an RFC dedicated to the > asynchronous module for PHP. > Someone will surely grant you karma soon. RFC makes sense. > Although the source code development is still in progress, a significant > part of it has already been written, and the initial tests are working > successfully. Therefore, I could start the documentation process if you > consider this topic relevant and interesting for the community. > A brief overview of what this RFC will cover: > > 1. *True* asynchronous support for PHP core functions without > additional "tricks." > 2. *Scheduler* and *Reactor* components, providing a C-API for PHP > extensions to enable non-blocking I/O in plugins or core code. > 3. *User-Land API* that mirrors the C-API for PHP developers. > 4. Basic primitives for concurrent programming, such as *Channel* and > *Iterator*. > 5. *Built-in* integration with the *LibUV* library. > > The library is based on *Fiber*, extending and enhancing it to provide > PHP developers with a full set of tools for concurrent applications. > Looks interesting. I understand that's not ready for review yet but quickly checked the code anyway. Is there some particular reason why this is not an extension? Think it might actually make sense to split it to two extensions - one for the core main stuff (that could be enabled by default) and then libuv optional part - similar to pdo for example. I haven't checked too deeply the code though so I might be missing things. Feel free to create a draft PR even if it's not ready. It might help to get some initial pre-reviews... :) Regards Jakub --0000000000000db249062e19d460 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

On Fri, Feb 14, 2025 at 12:24= =E2=80=AFPM Edmond Dantes <edmond= .ht@gmail.com> wrote:

Good day, everyone.

I would like to = request permission to create an RFC dedicated to the asynchronous module fo= r PHP.

Someone will surely grant you karma soon.= RFC makes sense.
=C2=A0

Although the source code development is = still in progress, a significant part of it has already been written, and t= he initial tests are working successfully. Therefore, I could start the doc= umentation process if you consider this topic relevant and interesting for = the community.

A brief overview of what this RFC will cover:

  • True asynchronous support for PHP core functions with= out additional "tricks."
  • Scheduler and <= strong>Reactor components, providing a C-API for PHP extensions to= enable non-blocking I/O in plugins or core code.
  • User-Land= API that mirrors the C-API for PHP developers.
  • Basic prim= itives for concurrent programming, such as Channel and Iterator.
  • Built-in integration with = the LibUV library.
  • The library is based on Fiber, extending and enhancing it to provide PHP developers w= ith a full set of tools for concurrent applications.

    =

    Looks interesting. I understand that's not ready fo= r review yet but quickly checked the code anyway. Is there some particular = reason why this is not an extension? Think it might actually make sense to = split it to two extensions - one for the core main stuff (that could be ena= bled by default) and then libuv optional part - similar to pdo for example.= I haven't checked too deeply the code though so I might be missing thi= ngs. Feel free to create a draft PR even if it's not ready. It might he= lp to get some initial pre-reviews... :)

    Regards

    Jakub
    --0000000000000db249062e19d460--