Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129221 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 lists.php.net (Postfix) with ESMTPS id 513E91A00BC for ; Thu, 13 Nov 2025 15:25:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763047526; bh=0G8eAJPoTmY0BLMeRq4otTBoA3cawsR4HiMXKAk3bWs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=VI9LJaZ9YyEwn+IvUMaDeMETJMBTGdCaiW5dI5ZnhJuhkWkkZeXxWMGqWDScWZqQM PzBo93xr/XfEwhcfkFP7hgODPHDZqkMgaBWbqefP+F0beE166CZpTCO0GdvvqGptdK WcsRjUWm2kN64bIQJcjPQLb3ndJgMBm6A7DS9F8rTvcR1TiDEpIb51oNvuZeOJjExL Cljx56t7N/mhNQ8SLbta4K87Q1ltqfyDXtAIYQ2/1mX5iFDDtqydWtT79Vu8PmTHaG kqj84xmfQVmQXquG4Hfq7dKBARdgWZIAp9KMGwJZvAjSKhAnV+ixCjEcTuu50Mfoln 75mznNQCgoXsw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3A791180078 for ; Thu, 13 Nov 2025 15:25:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.49]) (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 ; Thu, 13 Nov 2025 15:25:26 +0000 (UTC) Received: by mail-ua1-f49.google.com with SMTP id a1e0cc1a2514c-93723104137so297339241.3 for ; Thu, 13 Nov 2025 07:25:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763047520; x=1763652320; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=0G8eAJPoTmY0BLMeRq4otTBoA3cawsR4HiMXKAk3bWs=; b=XDyotuHw8YLG3UWDCOSDv7Py2Sd7HbsaUm17Wd1VK9OyFMnshhX0f+EWRdrsbEk7n1 9q5ymzyymqTei2XnbpW9nPvdSU9Ck9HdemE21AbnRErTRuXKw+eWQJ5vcQAogkHUlF32 bpF5BnDpIOY5jO5Lfg+lxc1euzrvlwTDN7KAh6MJEF/WoJiJ4os1MvF0O+qsD0lD/Sfv 8m/meGSg8ySk4nGf5cFp1+KmbNazgwSOGpq7AVsYC/NKEgNGcw/Rb7zqIniAcDnnD+/O I3LWcWFugvvKSlhp1AmmUzy4MsHzCFnt1+SmmpjCJKQ8+5Uutm4yXtdNRxzokoc+8pfk gtMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763047520; x=1763652320; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=0G8eAJPoTmY0BLMeRq4otTBoA3cawsR4HiMXKAk3bWs=; b=PYakDJsad5GhyN0Lr1BGvr5a/pfPxEJuUTIJJhVqadhnel7KotgoZC6vOaEcR54aiF iAqiHKYwnuZJTHVxihR9H+rQyUWOeONfEFWB83vXxWtPxk02aA1/3VpdXBVVMbKEIoj0 7Y/WDI2ytwXotfD6LEJj3nzqkQsYgft3Gu8Bb2fyco6juu1ZEAewRPRAtFtAMINe6Ans g6ZgFhaBv2dpzcJ4TKUM0S9RiNDcc15W1XeyxzJAZF+zweCvQi4eHNQXPcXqnDykabrW yya5M7eNRuI+YBak8Q2o0IfMYmXEBTzxaf5OueV7pzjPbO5m9vZIvEFm1lZuirOu5szn ovVg== X-Gm-Message-State: AOJu0YyAndG6KgpckAxtV//8Nm7eAOfDjqp69RiBUw6m4FyqtulFGDEH /nbzmrUGeMz+oX0824h15VxdnXyJLbwkKQwfgiQB89O19n9/qmeVtniLKxyNYcLvIZhDjfRj6o1 BUplFi2kFZ+R/RqbWzSEJxVz52BaHflnMeYBLmd8= X-Gm-Gg: ASbGncuCkj6BCGmPOtGj4zgwVF3X40EMsFej9fnFuKlgzfLzaudiE3jqV0THlmOyHAd bQLNShFSD+tn8V4YLw2vasECpPmq6aok9po25OYkqFoGsg8Pk/6xg9xVKf/edXxM4EKcXjWIaWG 0tY7mjPJzDXkUAUzVhr982ujMPwEgRM1Rgt+MfsaBhsJRUu1B6wFn/J+9tCy0fkxFDktDb0GbHL lu5rBejFKP6kE16m3MFGzgXte5fx1DcJFXerMEDaUsYCM/KV88RUcLOJ3I1B5V+u3pOSia0tfLH K+j4hhcnZaqzkWqlyCDp6uek X-Google-Smtp-Source: AGHT+IHSW72RSi6syluH6z5y8LalRz27ckaGYYrUe19wefSOGKuA6WLQO8VvwZW4EfiVEuGzDj95jAj5Eznp93uxI6c= X-Received: by 2002:a05:6102:5808:b0:5dd:b288:e780 with SMTP id ada2fe7eead31-5dfc533e040mr70642137.0.1763047520244; Thu, 13 Nov 2025 07:25:20 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 13 Nov 2025 17:25:09 +0200 X-Gm-Features: AWmQ_bk-MdmDJ8QEuS6HrWIEvzzElDCfvaa5mrl6TjyQTpOEFEP11keGKiQ4CRI Message-ID: Subject: [PHP-DEV] Re: PHP True Async RFC Stage 5 To: Jakub Zelenka Cc: php internals , Larry Garfield Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello Jakub. > I think it would be good to see the implementation that can cover the cur= rently proposed API and try to strip it as much as possible so it doesn't c= ontain much more than that. We saw that PR for the async API was already qu= ite > big and we didn't really get any agreement there partially also because t= here was no user of that and it was not possible to have any tests for it (= without writing them in C). > So what I'm thinking is that if some minimal version that implements just= this (e.g. reactor can be just dummy because there is no io atm. and other= things can be stripped too), then the voters would get better idea what th= ey are > dealing with and could even try it out. I understand what you mean. ** Regarding simplifying the code.** Any =E2=80=9Csimplification=E2=80=9D essentially comes down to removing stu= b files and the C classes that implement the PHP classes. This is a relatively small part of the project. For example, removing Scope from the C code doesn=E2=80=99t make much sense= , because it turned out (even unintentionally) to be a very convenient structure for tracking a group of coroutines. In other words, no major changes to the code are expected before the PR review begins. ** Reactor. ** Since the reactor uses libUV and we currently do not plan to provide a pure-C implementation, we agreed to move it into a separate library. ** Testing. ** Some functions that do not involve I/O can be covered by unit tests. This is a small portion of the API. However, covering all the remaining code that performs I/O with unit tests is not practical. We could try to emulate the OS and so on=E2=80=A6 b= ut I think you understand that the result is not worth the effort. This means we cannot avoid integration tests. P.S. Personally, I would prefer to agree on the PR first and the RFC afterwards. As I mentioned earlier, the code is more important than the RFC, because it defines the real relationships and logic, while the RFC only =E2=80=9Cdescribes=E2=80=9D them. But we live in a world that = follows its own rules. --- Ed