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

wboayue / rust-ibapi / 28217062971
92%

Build:
DEFAULT BRANCH: main
Ran 26 Jun 2026 04:28AM UTC
Jobs 1
Files 142
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

26 Jun 2026 04:25AM UTC coverage: 91.802% (+0.05%) from 91.757%
28217062971

push

github

web-flow
Add collect_for/collect_until terminals and snapshot_once builder (#686) (#692)

* Add collect_for/collect_until terminals and snapshot_once builder (#686)

Offer a convenience terminal on Subscription<T> that collects data items
into a Vec bounded by a total timeout, an optional early-break predicate,
the snapshot-end sentinel, stream end, or a terminal error. Adds
MarketDataBuilder::snapshot_once(timeout) sugar so one-shot market-data
snapshots no longer require a hand-written collect-with-timeout loop.

- Subscription::collect_for / collect_until (sync + async)
- MarketDataBuilder::snapshot_once (sync + async)
- TickSnapshotEnd testdata builder; collect + snapshot_once tests
- CHANGELOG + README snapshot idiom

* Skip redundant cancel for completed async snapshot subscriptions (#686)

Review finding #2: the async Subscription<T> lacked the snapshot_ended
tracking the sync side has, so dropping an async snapshot subscription
after SnapshotEnd always spawned a cancelMktData for an already-completed
request. Port snapshot_ended to the async subscription:

- Add snapshot_ended (shared) + snapshot_end_fn fields; detect the
  snapshot-end sentinel in poll_next and skip cancel in cancel()/drop().
- Capture the detector via detect_snapshot_end() at the builder-send layer
  where T: StreamDecoder<T> holds, leaving new_from_internal usable for
  decoder types where D != T (test path).
- Regression test asserting no cancel lands after a completed snapshot.

* simplify: intrinsic async snapshot detection + fn-pointer + macro fixture (#686)

/simplify pass on the snapshot work:

- Centralize snapshot-end detection in new_from_internal (require
  T: StreamDecoder<T>, the self-decoding pattern every production decoder
  already satisfies) instead of wiring detect_snapshot_end() into three
  builder send sites. Removes the fragility where a future creation path
  would silently lose cancel suppression; mirrors the sync side's intrinsic
  tracking. (altitude)
- sna... (continued)

85 of 87 new or added lines in 5 files covered. (97.7%)

18196 of 19821 relevant lines covered (91.8%)

28.79 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
85.39
-0.32% src/client/builders/async.rs
1
95.37
0.54% src/subscriptions/async.rs
Jobs
ID Job ID Ran Files Coverage
1 28217062971.1 26 Jun 2026 04:28AM UTC 142
91.8
GitHub Action Run
Source Files on build 28217062971
  • Tree
  • List 142
  • Changed 7
  • Source Changed 5
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28217062971
  • 61d13344 on github
  • Prev Build on main (#28150109933)
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