Beispiel
Demonstrate that Pool timeout acts as a single-shot deadlock timer rather than a recurring per-request queue wait limit, leaving subsequent requests on a saturated pool unmonitored.
sha256:33e82e017667acd6225ae23ba25e976a68f31b30b6b8f9a268df089f59cc4482
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- dart
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- dart
- Sprache
- dart
- Paketmanager
- pub
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- dart 3
- Betriebssystem
- linux debian · glibc
- Architektur
- x64
- Runtime
- dart 3
- Sprache
- dart
- Paketmanager
- pub
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17
Fall
- Ziel
- Demonstrate that Pool timeout acts as a single-shot deadlock timer rather than a recurring per-request queue wait limit, leaving subsequent requests on a saturated pool unmonitored. HOW
- Pakete
-
pool 1.5.1
- Umgebung
- dart
- Erstellt
- 2026-08-17T15:02:39Z
Häufige Annahme
Configuring Pool with a timeout duration causes every queued resource request to time out after waiting for that duration while the pool is at capacity.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- Pool timeout is a single-shot deadlock detector that permanently nullifies its timer after firing once, causing subsequent requests queued on a saturated pool to hang indefinitely without timing out.
- Pool constructor rejects non-positive maxAllocatedResources by throwing ArgumentError.
- The initial queued request fails with TimeoutException once inactivity exceeds the configured timeout duration.
- Subsequent requests queued on the saturated pool after a timeout event do not time out and remain pending until an allocated resource is explicitly released.
- Releasing the held resource satisfies the pending request.
- Calling release() on an already-released PoolResource throws StateError.
- Calling request() on a closed Pool throws StateError.
Dateien
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- dart 3 · linux debian/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9