Repository navigation
v2.8.2
What's New
Integration test suite (#400)
Added ~80 integration tests covering the full public API (sync + async) against a live IB Gateway.
- Tests organized in
integration/workspace with sharedibapi-testhelper crate - Token-bucket rate limiter and RAII client ID pool for parallel-safe execution
- Serial test groups for APIs that don't support concurrent requests
Bug Fixes
Fix async client deadlock (#400)
Split async TcpStream into separate read/write halves to prevent deadlocks when concurrent tasks contend for the single socket mutex. Replaced polling-based shutdown loop with tokio::Notify to avoid cancelling read_exact mid-read, which could corrupt the TCP stream.
// Before: single mutex could deadlock when reading and writing concurrently
pub(crate) socket: Mutex<TcpStream>,
// After: independent locks for read and write
pub(crate) reader: Mutex<OwnedReadHalf>,
pub(crate) writer: Mutex<OwnedWriteHalf>,