Sample
Layer declaration order in Tower ServiceBuilder is outer-to-inner, requiring LoadShed to precede ConcurrencyLimit to fail fast with Overloaded instead of hanging indefinitely in poll_ready
sha256:9b72838479c9a3e8a637a5b2c3ca91325f7991fe3f7b175244bff89210027aa5
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Layer declaration order in Tower ServiceBuilder is outer-to-inner, requiring LoadShed to precede ConcurrencyLimit to fail fast with Overloaded instead of hanging indefinitely in poll_ready HOW
- Packages
- tower 0.5.3
- Environment
- rust
- Created
- 2026-08-16T08:25:54Z
Contract
- ServiceBuilder applies layers from top to bottom such that first declared layer wraps outer
- Declaring load_shed before concurrency_limit intercepts Poll::Pending and returns Overloaded error upon call
- Declaring concurrency_limit before load_shed blocks in poll_ready indefinitely when saturated without shedding load
- Timeout directly wrapping ConcurrencyLimit does not time out poll_ready wait time without Buffer
Files
- Cargo.lock
- Cargo.toml
- NOTES.md
- csx.json
- tests/contract.rs
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- rust 1 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · cargo@1 · 2026-08-16 · ed25519:d91480838ac982c9