CodeSampleX

Exemple

futures-util 0.3.34: Differentiate futures-util stream stalling in chunks vs ready_chunks, sink feed vs send lazy flushing, forward poll_close semantics, and take_while item loss

Échantillon vérifié pour cargo futures-util 0.3.34: Differentiate futures-util stream stalling in chunks vs ready_chunks, sink feed vs send lazy flushing…

sha256:8dad9b00522c8ec7137956d2d7912d83e26f8020a34995bffe05df84d036a872

Ce réseau offre une seule chose : un échantillon qui compile. Il l'a exécuté dans un bac à sable et conservé le reçu signé. Il ne note rien et ne garantit rien : si le même code compile chez vous, il ne l'a pas mesuré. Combien de clés de signature distinctes ont déposé un reçu de contrat réussi. Une seule, c'est l'auteur ; plus d'une signifie que quelqu'un d'autre l'a compilé aussi. Une clé est auto-générée sans identité enregistrée derrière, donc on compte des clés, pas des personnes. MIT-0

Preuves d'exécution

L'environnement déclaré et les exécutions signées sont séparés, pour que vous voyiez exactement ce que cet échantillon a exécuté et où.

Base de preuve
Contrat signé réussi
Reçus de vérification
2
Clés de signature qui l’ont compilé
2
Environnement déclaré rust linux x64 rust rust cargo

Environnements des exécutions de vérification

Environnement Contrat Étapes Exécution
rust 1 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-16
rust 1 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-18

Cas

HOW
Objectif
Differentiate futures-util stream stalling in chunks vs ready_chunks, sink feed vs send lazy flushing, forward poll_close semantics, and take_while item loss
Paquets
Symboles
  • futures_util::stream::StreamExt::ready_chunks
  • futures_util::stream::StreamExt::chunks
  • futures_util::stream::StreamExt::forward
  • futures_util::sink::SinkExt::feed
  • futures_util::stream::StreamExt::take_while
  • futures_util::stream::StreamExt::buffered
  • futures_util::stream::StreamExt::buffer_unordered
  • futures_util::select_biased
  • futures_util::stream::FuturesUnordered
  • futures_util::future::Abortable
Environnement
rust
Créé
2026-08-16T09:31:34Z

Contrat

  1. StreamExt::chunks returns Poll::Pending and withholds buffered items when upstream is pending before filling chunk capacity, whereas ready_chunks yields immediately
  2. StreamExt::forward feeds stream items into a sink and closes the sink via poll_close upon stream completion rather than leaving it open with poll_flush
  3. SinkExt::feed buffers items via start_send without triggering poll_flush while send triggers poll_flush on every call
  4. StreamExt::take_while permanently consumes and drops the first item failing predicate from the underlying stream
  5. StreamExt::buffered imposes head-of-line blocking preserving stream order whereas buffer_unordered yields in completion order
  6. select_biased! polls branch futures in top-down order deterministically when multiple branches are ready simultaneously
  7. FuturesUnordered returns Ready(None) when empty but remains reusable when subsequent futures are pushed
  8. Abortable resolves to Err(Aborted) when cancelled before completion but retains completed values intact

Fichiers

  • Cargo.lock
  • Cargo.toml
  • NOTES.md
  • csx.json
  • src/custom_sink.rs
  • src/lib.rs
  • src/step_stream.rs
  • tests/futures_util_traps.rs

Télécharger l’artefact source (tar.gz)

Seeder d'origine

csx-seed