Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122149 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 6868 invoked from network); 13 Jan 2024 09:29:47 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 13 Jan 2024 09:29:47 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1705138224; bh=2ISo9iEkw7Iseb3DwzfQ9nYSYMt6EbwiAjvUyeCHw8U=; h=From:Date:Subject:To:From; b=fyHFwJWiyrZGawY65QEHI4oa88+3ZBkc8Rjzw3NgK266l05KJJlhBNFtR0mo5YCoC YfRJ4J/nEZ9I7kJ1DbBiNEQ88zYqz3Zo+cRET/mwohmsQeLBaIcNm2c7WSovm7WOja /gNhm4UlcT0ISlL57AFhNTnruMPFUrqjKxvF1l3r2P8WZ7izQjNb4uPAEb6U6bnLxn aPTlLHm3nxgN0z3MAs3i5MSux0AKySSPaReYvA2EeG3qWQ14nVCegDwEuXvIcFAkNb 0GVvLgZ5q4itvXYHaG1BcuJ3KwfmfVU68CcN1P9kuKlE2EV/sWSU0wgnXE+K6JCp76 5LSvGKPOtIZdg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3A950180055 for ; Sat, 13 Jan 2024 01:30:23 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,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-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 ; Sat, 13 Jan 2024 01:30:22 -0800 (PST) Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-559058418faso142283a12.3 for ; Sat, 13 Jan 2024 01:29:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705138184; x=1705742984; darn=lists.php.net; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=2ISo9iEkw7Iseb3DwzfQ9nYSYMt6EbwiAjvUyeCHw8U=; b=YBiaH1oikX4zJlMNp40NwhrXWaJYZ9S04YieNbw8nsTkTD0pL9iU7cl91eeeMuJb25 CWXHFkTj1uuyPAamHot2cQ0AjGVYO+Zjjqxd3H1PZgLkme1N0S6FyIejudpVmREwknZV t+4pClAeHKbTYSaBCRXpqmpDmfYnaKjdIvotZ/b+y69Icjp6Arpk3FGoRoaZOGmkYZbi nAbIuLA3wmnXWUIeej1fNPDbHvHrXpV3aF+MEYkjCOiCoU9OLVDWKgN1Nqvld9l9VpUz YAwc7lqaI6sY6TuQv90Y4I9csd6YQqYjcrzaIjubBFXj5fplBA1erchOKLX3jh4MV4oc qvKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705138184; x=1705742984; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=2ISo9iEkw7Iseb3DwzfQ9nYSYMt6EbwiAjvUyeCHw8U=; b=EQ5AHlg/6JQaYeRuVQS53z4QrekTV47K2AMNmA85fDGmvBtshSzjSgylOev2IbT3KH hXpMar8iO4gtzMR8umNImtg+SlZZ0xNH0olz/yqTbK5sWcs/lsE28sOm6KoqSbMLQHmv gfsdguPjChsAs3VhZPpZbIIFWyXCKBx3Nxc0uONr4zrC0QWYYsTUnRWnyP/BfIwxonG2 8Nj3rRP1EpGNdbHEbFvtTQnNCUkkzq+KU6D1bv6/Lk+bwfwp2Ul1JV4/Fb2Xaq09Wd6X +p8Dje0msRcyM09pGKWuQ4zy6xSlDFobR6dZb8mDAZo+441+H3PHl1skufdvR+w5gDxa HmhQ== X-Gm-Message-State: AOJu0YzRllV0pn0MfFxs513Lu9FBEsWgOvgrrBizahUvj/GMMeHMKEUr QS0A9oiCyRisHbM0F4CP3obdWGtL4I9wHHc9lgi91nOcdAc= X-Google-Smtp-Source: AGHT+IEN5pS6kLhhYUFd9m+wDcZbFdEBO29H8yxoggsC38HdxoV1QHCK4GLvHkLeYK65tGv71T07FL6xmeEuavLV+D8= X-Received: by 2002:a05:6402:745:b0:557:4054:ee01 with SMTP id p5-20020a056402074500b005574054ee01mr1332211edy.35.1705138183687; Sat, 13 Jan 2024 01:29:43 -0800 (PST) MIME-Version: 1.0 Date: Sat, 13 Jan 2024 10:29:32 +0100 Message-ID: To: PHP Internals List Content-Type: multipart/alternative; boundary="000000000000bb5395060ed06b30" Subject: [PHP-DEV] Dedicated StreamBucket class From: kocsismate90@gmail.com (=?UTF-8?B?TcOhdMOpIEtvY3Npcw==?=) --000000000000bb5395060ed06b30 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Everyone, Recently, I realized that the stream_bucket_new() and stream_bucket_make_writeable() functions create stdClass instances by dynamically adding a "bucket", a "data" and a "datalen" property to it. A few days ago, I submitted a PR which makes the above mentioned functions return a dedicated StreamBucket class which has these parameters properly declared (https://github.com/php/php-src/pull/13111/). Furthermore, stream_bucket_prepend() and stream_bucket_append() would accept objects of this class as their second parameter from now on. Before, they accepted any kind of objects as long as they had a "bucket" property containing a valid stream. As far as I see, my changes are backward compatible as long as people use the stream bucket API properly (i.e. create stream buckets via stream_bucket_new() and stream_bucket_make_writeable()). If they manually construct such objects (i.e. $bucket =3D new stdClass(); $bucket->bucket = =3D ....) then obviously, they would start to face type errors. So my question is whether anyone has any use-case/preexisting code which falls into the second case? If no one knows about the invalid usage pattern, my next question would be whether I have to create an RFC for this change? Regards, M=C3=A1t=C3=A9 --000000000000bb5395060ed06b30--