• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wboayue / rust-ibapi / 25999805501
92%

Build:
DEFAULT BRANCH: main
Ran 17 May 2026 07:01PM UTC
Jobs 1
Files 128
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 May 2026 06:58PM UTC coverage: 92.01% (+0.006%) from 92.004%
25999805501

push

github

web-flow
fix(transport): clear stale metadata on reconnect; stop clobbering sync is_connected (#580)

Port of v2-stable PRs #576 + #579 to main.

Async: connection_metadata() was observably stale during a reconnect
window — callers saw the prior session's server_version, next_order_id,
managed_accounts, connection_time until the new handshake completed. Add
reset_connection_metadata() and call from reconnect() after socket
replacement, before establish_connection(). server_version_cache is
zeroed at the same time.

Sync: same metadata bug as async — same fix.

Sync transport: reset() stored connected=false at its tail. The dispatch
loop calls reset() *immediately after* restoring connected=true on
successful reconnect, so the flag was clobbered back to false within
microseconds. is_connected() was therefore permanently false after the
first network blip; examples/sync/connection_monitoring.rs would never
print "Connection restored". reset()'s job is channels, not lifecycle
state — drop the store.

Three regression tests, all using the existing MemoryStream / MockSocket
test fixtures (no real-TCP harness needed):

- connection::async::reconnect_clears_metadata_while_waiting_for_handshake
- connection::sync::reconnect_clears_metadata_while_waiting_for_handshake
- transport::sync::test_is_connected_stays_true_after_reconnect

The first two spawn reconnect in a task/thread with no inbound handshake
bytes queued, wait for the new handshake's wire bytes to appear (signals
reset_connection_metadata has run), and assert cleared state — then
release the handshake and assert restored state.

17 of 17 new or added lines in 2 files covered. (100.0%)

18956 of 20602 relevant lines covered (92.01%)

30.11 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25999805501.1 17 May 2026 07:01PM UTC 128
92.01
GitHub Action Run
Source Files on build 25999805501
  • Tree
  • List 128
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25999805501
  • 0413f1c9 on github
  • Prev Build on main (#25780080823)
  • Next Build on main (#26000043600)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc