Expand description
Authentication state tracking for WebSocket clients.
This module provides a robust authentication tracker that coordinates login attempts and ensures each attempt produces a fresh success or failure signal before operations resume. It follows a proven pattern used in production.
§Key Features
- Oneshot signaling: Each auth attempt gets a dedicated channel for result notification.
- Superseding logic: New authentication requests cancel pending ones.
- Timeout handling: Configurable timeout for authentication responses.
- Generic error mapping: Adapters can map to their specific error types.
§Recommended Integration Pattern
Based on production usage, the recommended pattern is:
- Authentication guard: Maintain
Arc<AtomicBool>to track auth state separately from tracker. - Guard checks: Check guard before all private operations (orders, cancels, etc.).
- Reconnection flow: Authenticate BEFORE resubscribing to topics.
- Event propagation: Send auth failures through event channels to consumers.
- State lifecycle: Clear guard on disconnect, set on auth success.
Structs§
- Auth
Tracker - Generic authentication state tracker for WebSocket connections.