Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126857 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 584231A00BC for ; Thu, 20 Mar 2025 07:52:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1742456982; bh=zXTy7fDMnZma/qJihf48Zs2Rjm2uSwd7rGyi4hODWic=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=ZOs9e+WmvMmjMNkK6jKJGmfA5GrIzhkZK63blL80sWA/1f4MwQY4v65AWvZLHHGtY HbDkxqWYOEZSaVfeBxuI9TVDh6c/W9zvpBmIuCHBibgWafHoDq1dPFIjPgzAHrsEs+ yBQUUFzpAlvg0FT8lfMBt5JdvOHXMDljb1M9CCXkzpZu2etjgAEIxLqXM1azF1qxyq Bs8aVPDPDIj/+L/Gdz8W7xaAVol92ELXbqYLtHiBfTwhhx2C3JE566Kyynr7F2Dfao 4TQPtGFE2w5O7XgX0+mH3gxlT8PlBCuSiON0iOI5hK7mO4ezHuttqemGK2fdhRiWwK 3kUVQApBDAUyQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8BC15180072 for ; Thu, 20 Mar 2025 07:49:41 +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_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) (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, 20 Mar 2025 07:49:31 +0000 (UTC) Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-e643f235a34so322967276.1 for ; Thu, 20 Mar 2025 00:52:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742457121; x=1743061921; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=jLciOET4w0d/tZx81J3uAx9vyPOTQP+0YpoY3h/VXA0=; b=l7zKdlB6BesIGQI5ydW9FjSUWhrp/olYlOVmOPYZ7iHiojFh/GD9GiH7YXRCXurYF9 qL4R09YnC8di2cFO8X8g7yvs531Sq/Bdq92rYVetQE3JlmxFvwhLTMbeZfNqf2oh0aqc QcUs4eIp00iQFIWI8TePD5H8b6HNH8FbTPQpP4u+vace/YXRw4j+hluNG2TF9rEc6AZB Z0AqEibx7oDVxjr0UB/SJ/PU5xry7Zyr+21qgFWGP7fLj9FovW6Q0LGLnUa3RN43ni/e ksdgRlXQ59HRardwkQtKbNtqvZkxTXV+daooXe6fZJ9tGDK3UcyIcQ8QayCngwNp3C2f jBsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742457121; x=1743061921; 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=jLciOET4w0d/tZx81J3uAx9vyPOTQP+0YpoY3h/VXA0=; b=sOhvoetGefFtum7LSdSVkLq8RWN0tXOaeGabJGSR+D3gNk0wOLJIVv517WlalhetnY ZU1FFetWKu+lQOvWZ+ZVpD6x89wsM6mccK748DyN9kiNyDzEZ6AJ5PoOJO4o21Fe5HF2 Ii84a4iJ4tW/qeGqYsAGEM44IJnYt/uQggYAC7uZD7EkzkhurrpqvN8IJbxOMwPOnnas VMzXyyAOog75aIUruDJtk6G358Tu4tMtBTazO1i2e0tRxqrV7/nsvIa2FHLRyHAk8+s6 xvCaxWlouNLqbExjKZzG+wZeAoRfL0vDf+CeTtaUfgySDCS42OK614vaBqBU2hzxbS+n VS5Q== X-Gm-Message-State: AOJu0YzQFfneSkmKDzw3pcQHwi0E4XiI3Qdae5qjf/fprJfiho4oSRgI BHGAAMJwT1XLwJP5mOo2cJI+ev4nfCEjAX/MlH7OGxCZXY1zjs2tMQw2E/zPceCFoNWnLFxQsAz wAwcu51Bjtf+6/Ph4BmQj2zGHse1VBPuQalM= X-Gm-Gg: ASbGnctbzF0HySLjJiHvHEyDkRr3lerWdxVZND2f426YRxnACJ0F9vCAbe2R5mqJgR1 EqjwotRDnGGicDA1JPNU0rND0yBX6F7m8KkdLe/tBckmeQTLZb/dxh01R+kqVs1T4OodTtazkfA kGBJRphuYeSs8WUkes9vDE4aYUFw== X-Google-Smtp-Source: AGHT+IGLdUM0HSd1px+18Ct7TOoff0kCr4DqS9nzXGSvzIrHVrPjykIvSiHMOCOWqIrj8CWmpuGc6xxSWehfy2GEI4s= X-Received: by 2002:a05:6902:4789:b0:e66:8fa5:622e with SMTP id 3f1490d57ef6-e668fa5673amr3710339276.5.1742457121643; Thu, 20 Mar 2025 00:52:01 -0700 (PDT) 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: Thu, 20 Mar 2025 09:51:49 +0200 X-Gm-Features: AQ5f1JooVOytQ5jAY3nNX1aCW5KvPWED3422GwQP-RHAqE5GGEz4TrLYIYgTNdU Message-ID: Subject: Re: [PHP-DEV] Re: PHP True Async RFC - Stage 2 To: Iliya Miroslavov Iliev Cc: php internals Content-Type: multipart/alternative; boundary="000000000000c5a2e00630c16908" From: edmond.ht@gmail.com (Edmond Dantes) --000000000000c5a2e00630c16908 Content-Type: text/plain; charset="UTF-8" > > await $some limit 5s; > Yes, limit is also a good keyword. And some else examples with "until": **CancellationExp**: - A variable of the `Awaitable` interface ```php $cancellation = new Future(); $result = await $coroutine until $cancellation; ``` - A function that returns an Awaitable object ```php function getCancellation(): \Async\Awaitable { return new Future(); } $result = await $coroutine until getCancellation(); ``` - A new coroutine ```php $result = await $coroutine until spawn sleep(5); ``` --000000000000c5a2e00630c16908 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
>
>=C2=A0 await $some limit 5s;
>
Yes, limit is also a good keyword.
<= div>
And some else examples with "until":

**CancellationExp**:

- A variable of the `Awaitable`= interface

```php
=C2=A0 =C2=A0 $cancellation =3D new Future();=C2=A0 =C2=A0 $result =3D await $coroutine until $cancellation;
```
- A function that returns an Awaitable object

```php
=C2=A0 = =C2=A0 function getCancellation(): \Async\Awaitable {
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 return new Future();
=C2=A0 =C2=A0 }

=C2=A0 =C2=A0 $re= sult =3D await $coroutine until getCancellation();
```

- A new co= routine

```php
=C2=A0 =C2=A0 $result =3D await $coroutine until s= pawn sleep(5);
```
--000000000000c5a2e00630c16908--