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

wboayue / rust-ibapi / 25574751018 / 1
92%
main: 92%

Build:
DEFAULT BRANCH: main
Ran 08 May 2026 07:18PM UTC
Files 126
Run time 4s
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

08 May 2026 07:17PM UTC coverage: 88.374% (+0.1%) from 88.278%
25574751018.1

push

github

web-flow
feat(client)!: unify notice API on Client::builder() (#526)

* feat(client)!: unify notice API on Client::builder()

v3.0 breaking change. Replace three connect entry points and the parallel
notice surfaces with a single fluent builder.

Builder configurators: address, client_id, tcp_no_delay, startup_callback.
Two terminals: connect() and connect_with_notice_stream() (the latter
returns (Client, NoticeStream) where the stream captures handshake-time
notices AND every unrouted notice for the connection's lifetime, surviving
auto-reconnects).

Hard-removed:
- ConnectionOptions struct + builder methods
- StartupMessageCallback, StartupNoticeCallback type aliases
- Client::connect_with_callback, Client::connect_with_options

Kept: Client::connect(addr, id) one-liner; Client::notice_stream() (still
works post-connect, subscribes to the same broadcaster).

Internal: notice broadcaster moved from TcpMessageBus to Connection so
it's a single source of truth across handshake and post-connect dispatch.
New pub(crate) NoticeSink trait bridges the per-feature broadcaster types
(sync NoticeBroadcaster vs async broadcast::Sender<Notice>) at the shared
dispatch site. StartupCallbacks renamed to StartupHandshakeContext.

Fixes the startup_notice_callback_receives_handshake_notices flake — the
old race (trailing handshake notices arriving after the
NextValidId+ManagedAccounts loop break) is structurally impossible now
because the broadcaster covers both windows.

Closes v3-api-ergonomics §2 "Unify the two notice APIs" and §4.1 "Fold
connect variants into a builder".

* refactor(client): address lens-review findings on PR #526

Two follow-ups from the post-implementation duplication/SRP/composability
pass:

1. Extract BuilderState shared between sync_impl/async_impl ClientBuilder.
   Centralizes the field set and the InvalidArgument validation messages
   so future configurators only need to be added in one place.
   Configurators forward via self.state.*; terminals c... (continued)

18145 of 20532 relevant lines covered (88.37%)

26.58 hits per line

Source Files on job 25574751018.1
  • Tree
  • List 126
  • Changed 8
  • Source Changed 8
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25574751018
  • 8142dcc6 on github
  • Prev Job for on main (#25535179348.1)
  • Next Job for on main (#25574878855.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc