Skip to content

client: re-export blocking tick/display-group subscriptions - #958

Open
tradatious wants to merge 1 commit into
wboayue:mainfrom
tradatious:blocking-subscription-reexports
Open

tradatious wants to merge 1 commit into
wboayue:mainfrom
tradatious:blocking-subscription-reexports

Conversation

@tradatious

Copy link
Copy Markdown
Contributor

Description

With both sync and async enabled, the top-level market_data::historical::TickSubscription and
display_groups::DisplayGroupSubscription are the async types. The blocking TickSubscription was
reachable there only through the hidden historical::sync path, and the blocking
DisplayGroupSubscription had no public path at all. So a caller of
blocking::Client::subscribe_to_group_events could not name the returned type, and a caller of
historical_ticks(..).trade() could name it only through a hidden module.

client::blocking now re-exports the blocking TickSubscription, its four iterator types and
DisplayGroupSubscription, as docs/rules/parity/dual-feature-types.md prescribes for dual-feature
types. The blocking module docs gain an example that names both. The hidden historical::sync
path is unchanged. The rule node records this as a precedent.

Testing

The new example on client::blocking compiles under --all-features and sync-only; without the
re-exports it fails with E0432. cargo fmt --check; clippy, rustdoc (-D warnings) and cargo test on
all three feature configurations; cargo build --examples both ways; integration crates built; rules
graph check.

Breaking changes

No. Additive re-exports only.

client::blocking now exports the blocking TickSubscription, its four
iterator types and DisplayGroupSubscription, so a build with both
features can name them; the top-level names are the async types there.
@tradatious
tradatious force-pushed the blocking-subscription-reexports branch from e0bda67 to e8396b3 Compare October 5, 2026 07:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant