Description
AuctionOrchestrator::collect_dispatched_auction drains pending provider requests with PlatformHttpClient::select() until every request completes. Backend first-byte and between-byte timeouts do not establish an absolute wall-clock auction deadline: a backend can trickle response bytes within the transport timeout and keep the publisher response held beyond auction_timeout_ms.
This behavior predates the APS OpenRTB integration. It requires a platform-level, deadline-aware selection/cancellation design and should be implemented independently of that PR.
Acceptance criteria
- Add a deadline-aware collection operation that works across supported platform adapters.
- Stop waiting at the absolute auction deadline and drop or cancel outstanding requests.
- Attribute outstanding providers as timeouts in the auction result.
- Do not launch mediation when the deadline is exhausted.
- Add regression coverage for delayed or trickling provider responses.
Description
AuctionOrchestrator::collect_dispatched_auctiondrains pending provider requests withPlatformHttpClient::select()until every request completes. Backend first-byte and between-byte timeouts do not establish an absolute wall-clock auction deadline: a backend can trickle response bytes within the transport timeout and keep the publisher response held beyondauction_timeout_ms.This behavior predates the APS OpenRTB integration. It requires a platform-level, deadline-aware selection/cancellation design and should be implemented independently of that PR.
Acceptance criteria