Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130166 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 42AD31A00BC for ; Wed, 25 Feb 2026 12:27:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1772022469; bh=K+YS1SjSHtG8nSSoY6IlDAc7rpH+gq7rVjrvLI8Tzus=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=V6RQw47+khMVkbvrWGKpVXLTRyo6uLBvRNRQSg+BNl0+k0n6nEfwFFpXImtiSg1el 7BRLE9WDJYgqzENrYVESsA4L2lPpsWwRxYztmqQz65a0dhKOF1A8HtWp04ECgd6Mkq wK5kNcTzasRHs4Dj4H29faI/5cBlQJjuBX4IFmpKK0DClPcimQ4CHH2amTbmGLxATu h3FbgWScwIGfpK4IctV6OGGMaL0datRY8jkECaNfbY0YnDD4+6snrF10eW2wxZZnoA myBhLlSekS4dJugU+AGbjKuyCqFCbljJ6AIsYv3p1DAcrAoOTgsnVhnju9lhPzZa30 0NBa6EHk5fTHQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0B52B180040 for ; Wed, 25 Feb 2026 12:27:49 +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=1.7 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DMARC_NONE,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,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-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.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 ; Wed, 25 Feb 2026 12:27:48 +0000 (UTC) Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-59e0d5c446cso7564795e87.0 for ; Wed, 25 Feb 2026 04:27:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772022462; cv=none; d=google.com; s=arc-20240605; b=QmVdRIgi2813JCO9in6bJZJhy7ZAkTE6LtZ2nHac1ktDifOuqE6wzGSY68QoRwthGP D/HTVAozEbsrvqy0Fb0YNlki4qNLhR13dIN/2KNw0HTwIK80z7UFhRDTEgs6b8lxaEWt BS/t5f2qNQ1rWZCmlp+onlJsMkdcHIEMt6uBB9B7cgy3oqFES2Bz/6EL3HqLaRD5emXv yGtcT+LG8AmQ/HMfwFBagbEnDWAkSiFvwayeTbANEPoXnlFxxAYJc8iDBi+42KQjDdIz 445Rnm5RJ39+wm+oeJqm0eL9dphTGpcQ1bMXx68C1OqK54dLqj0QWavQvt4psjzQJdMD mBRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=0U+nQwhxsI1RzPsokr9Xq6BHLPJkKObvRA6khKXXYVc=; fh=4tytjhG5+ySp4dS8TT3glIm8x63aEeiUDfnQqxW22lk=; b=HwW7OUELghOpIJ+f+PJSr05tHkJFQ88fp7B74LSSyxuNCzO1gmf3dNqLYaS+PPwB2C 5/FdHhkj9jXPoHrSpmQ4UYvdAj/QxE8AzHDJOj2INoSh7S252k77u1s8jllmkFR3MAxy 8zHZnPfPYnd4iPqbWFVV/KxA2+SkEbHKARs7i9WS2k1zVdMP1tGEdSnK9tNeFyjoiA5C 7ePLsultigKMgCXVRoJu3JWz7fB7DY978xh5UvBpaZcn+HY92F/MgGIGTuwNLu0Rpw1q u48A5F9FSOHhiQ3V2tN69WKhbxw/0UbQ1qUk+EY5ED6GTX/j837Mp2HWcD61G1AilKEG BKUw==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772022462; x=1772627262; h=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=0U+nQwhxsI1RzPsokr9Xq6BHLPJkKObvRA6khKXXYVc=; b=DjMMldfdOWXrhLmud7UOrDH+79M7Ja6JP25jvMXYX5aGALU2N8MBMeY0Y3cP2RFwCV CR55MspYQoD0T6d5zeqwBJD6FpHnw6AvwL4/mxdQ26pfPu5QY9cP0qKfg4btW7Tb521d Hry5ty4D+wBUR/1TgJeM8ylCwzf7S6LmIRqTXPzj6yJ3M891ZX9Ai7WbyuLFSE/UsEmv ei9aa/xZVEuhiGnx5j2ZMbywnFagq4XDjmkouOQeD0k32oee6ZGvkzfAVuyiWi9g8ZyL fvLuGD9AtkkD9SheLutt7qGk+PZZJczhZVCkldiNySpi9VtG42T2OUrDs/iW1xhOLdb0 /Z/w== X-Gm-Message-State: AOJu0YwOYzGqgnJy3dOJW4tjZLcmGhYvWrOyOskpYgXGAUYm0phvhRY1 WmkKKVIM+yfeCSJjySCgN2K3X8rFoawV4neo/PxNrdf/H+wCCLFP7lxeibbrYks7ANPWhdxQQ7p YqUO7L+Xh79f9ZmmxZJlVvd9vQ9nqcJ4= X-Gm-Gg: ATEYQzzLnRdz05Oz+5zWBYW7uSsphfQFcFx7v+cTywhqJfGl6qwZCYwwWQifejWYKgU H2iRQUnNvpVkPxvR2W8JEtEN+JF8VeKEjLJCQUi8ew2qZO30qvOJ0F18qMlavDrmSd4XhgM2K95 yv6VR2q7kbHbp6qQsjzoADQMqJKuSXsOLJaxCv7MX7h0rzOLLIVNSGPkxF5C1++M2wKCzh6CSho fN0qUp5nWfhouAf+AiWHtyty1c//4oodIS5NzHSrwBO/+eOEcRMUlO/wRWK8XaKIgijxKnKioHV b6fQfKsGMbFjADQAJQ== X-Received: by 2002:a05:6512:31c7:b0:59e:45ae:7035 with SMTP id 2adb3069b0e04-5a0ed88dc26mr5573639e87.3.1772022461944; Wed, 25 Feb 2026 04:27:41 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <20260224013102.D62F91A00BD@lists.php.net> In-Reply-To: <20260224013102.D62F91A00BD@lists.php.net> Date: Wed, 25 Feb 2026 13:27:30 +0100 X-Gm-Features: AaiRm50XE7WUtIvHlrY9gAu5P9bBkkBhKKgNR0bofjxhyXeH1YVOrbXEGsBoHwQ Message-ID: Subject: Re: [PHP-DEV] [RFC] Polling API To: Ben Ramsey Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="00000000000060d780064ba52127" From: bukka@php.net (Jakub Zelenka) --00000000000060d780064ba52127 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Tue, Feb 24, 2026 at 2:32=E2=80=AFAM Ben Ramsey wrote: > On 12/26/25 11:57, Jakub Zelenka wrote: > > On Fri, Oct 31, 2025 at 1:06=E2=80=AFPM Jakub Zelenka w= rote: > > > >> Hi, > >> > >> On Fri, Oct 31, 2025 at 10:40=E2=80=AFAM Tim D=C3=BCsterhus > wrote: > >> > >>> Hi > >>> > >>> Am 2025-10-30 22:06, schrieb Jakub Zelenka: > >>>> I would like to introduce a new polling API RFC that is part of my > >>>> stream > >>>> evolution work: > >>>> > >>>> https://wiki.php.net/rfc/poll_api > >>> > >>> 1. > >>> > >>> Thank you for the RFC. I've taken a first skim of the proposal and it > >>> immediately raised the question of naming and namespacing in > particular. > >>> Our naming policy at > >>> > https://github.com/php/policies/blob/main/coding-standards-and-naming.rst= #bundled-ewill > >>> be alwaysxtensions > >>> < > https://github.com/php/policies/blob/main/coding-standards-and-naming.rst= #bundled-extensions > > > >>> says that =E2=80=9Cnamespaces SHOULD be used=E2=80=9D and given that = this is a > >>> completely new API, I think we should namespace them. > >>> > >>> My understanding is that the proposed API relies on a file descriptor > >>> and not something like a timeout. It therefore makes sense to me to p= ut > >>> it into a `namespace Io\Poll;` or similar. We would then also have: > >>> > >>> namespace Io; > >>> class IoException extends \Exception {} > >>> namespace Io\Poll; > >>> class PollException extends \Io\IoException {} > >>> > >>> > >> I thought about this and think this might be a good idea. > >> > >> > > This is implemented as suggested and RFC updated. > > > > > Has anyone done any research into the userland impact that introducing > `Io` and `Io\Poll` namespaces to core might have? I don't see any > discussion regarding this in the thread or in the RFC. > > I did some searching yesterday and haven't found any major project using it. Just one active project using \Io but not \Io\Poll or anything that is planned for the future in this namespace. I updated the RFC. Kind regards, Jakub --00000000000060d780064ba52127 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Tue, Feb 24, 2026 at 2:32= =E2=80=AFAM Ben Ramsey <ramsey@php.net= > wrote:
= On 12/26/25 11:57, Jakub Zelenka wrote:
> On Fri, Oct 31, 2025 at 1:06=E2=80=AFPM Jakub Zelenka <bukka@php.net> wrote:
>
>> Hi,
>>
>> On Fri, Oct 31, 2025 at 10:40=E2=80=AFAM Tim D=C3=BCsterhus <tim@bastelstu.be>= ; wrote:
>>
>>> Hi
>>>
>>> Am 2025-10-30 22:06, schrieb Jakub Zelenka:
>>>> I would like to introduce a new polling API RFC that is pa= rt of my
>>>> stream
>>>> evolution work:
>>>>
>>>> https://wiki.php.net/rfc/poll_api
>>>
>>> 1.
>>>
>>> Thank you for the RFC. I've taken a first skim of the prop= osal and it
>>> immediately raised the question of naming and namespacing in p= articular.
>>> Our naming policy at
>>> = https://github.com/php/policies/blob/main/coding-standards-and-naming.rst#b= undled-ewill
>>> be alwaysxtensions
>>> <https://github.com/php/policies/blob/main/coding-standards-and-nam= ing.rst#bundled-extensions>
>>> says that =E2=80=9Cnamespaces SHOULD be used=E2=80=9D and give= n that this is a
>>> completely new API, I think we should namespace them.
>>>
>>> My understanding is that the proposed API relies on a file des= criptor
>>> and not something like a timeout. It therefore makes sense to = me to put
>>> it into a `namespace Io\Poll;` or similar. We would then also = have:
>>>
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0namespace Io;
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0class IoException extends \Exception= {}
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0namespace Io\Poll;
>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0class PollException extends \Io\IoEx= ception {}
>>>
>>>
>> I thought about this and think this might be a good idea.
>>
>>
> This is implemented as suggested and RFC updated.
>


Has anyone done any research into the userland impact that introducing
`Io` and `Io\Poll` namespaces to core might have? I don't see any
discussion regarding this in the thread or in the RFC.


I did some searching yesterday and hav= en't found any major project using it. Just one active project using \I= o but not \Io\Poll or anything that is planned for the future in this names= pace. I updated the RFC.

Kind regards,
<= br>
Jakub
--00000000000060d780064ba52127--