Expand description
Cancel request broadcaster for redundant order cancellation.
This module provides the CancelBroadcaster
which fans out cancel requests
to multiple HTTP clients in parallel for redundancy. Key design patterns:
- Dependency injection via traits: Uses
CancelExecutor
trait to abstract the HTTP client, enabling testing without#[cfg(test)]
conditional compilation. - Trait objects over generics: Uses
Arc<dyn CancelExecutor>
to avoid generic type parameters on the public API (simpler Python FFI). - Short-circuit on first success: Aborts remaining requests once any client succeeds, minimizing latency.
- Idempotent success handling: Recognizes “already cancelled” responses as successful outcomes.
Structs§
- Broadcaster
Metrics - Broadcaster metrics snapshot.
- Cancel
Broadcaster - Broadcasts cancel requests to multiple HTTP clients for redundancy.
- Cancel
Broadcaster Config - Configuration for the cancel broadcaster.
- Client
Stats - Per-client statistics.