64faa707a4
Dependabot opened #13 to bump tokio-tungstenite from 0.24 to 0.29 but the bare-version bump fails to compile: WebSocketConfig became #[non_exhaustive] starting with 0.27, so the existing struct-literal construction let ws_config = WebSocketConfig { max_message_size: Some(MAX_MESSAGE_SIZE), max_frame_size: Some(MAX_FRAME_SIZE), ..WebSocketConfig::default() }; produces error[E0639]: cannot create non-exhaustive struct using struct expression Switch to the builder-style setters that 0.29 exposes on the default value. Semantics are unchanged; both fields still carry the MAX_MESSAGE_SIZE / MAX_FRAME_SIZE caps from the original config and the rest of the WebSocketConfig defaults are preserved by starting from WebSocketConfig::default(). This supersedes #13 — same target version, plus the code change Dependabot can't make on its own. Verified locally: cargo check -p wickra-data --features live-binance # clean cargo test --workspace --all-features # 630 passed / 0 failed cargo clippy --workspace --all-targets --all-features -- -D warnings
45 lines
1.4 KiB
TOML
45 lines
1.4 KiB
TOML
[package]
|
|
name = "wickra-data"
|
|
description = "Data sources for Wickra: CSV readers, tick-to-candle aggregator, and live exchange feeds."
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
homepage.workspace = true
|
|
readme.workspace = true
|
|
keywords.workspace = true
|
|
categories.workspace = true
|
|
documentation = "https://docs.rs/wickra-data"
|
|
|
|
# Render the docs on docs.rs with every feature enabled so the optional
|
|
# live-binance feed is documented (otherwise it is hidden behind its feature).
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
wickra-core = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
csv = "1.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
# Async / live feeds are opt-in: only pulled when a `live-*` feature is requested.
|
|
tokio = { version = "1", features = ["rt", "rt-multi-thread", "macros", "net", "time", "io-util"], optional = true }
|
|
tokio-tungstenite = { version = "0.29", optional = true, features = ["native-tls"] }
|
|
futures-util = { version = "0.3", optional = true }
|
|
url = { version = "2", optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
# Each exchange is gated so users only pay for the WS stack they actually want.
|
|
live-binance = ["dep:tokio", "dep:tokio-tungstenite", "dep:futures-util", "dep:url"]
|
|
|
|
[dev-dependencies]
|
|
approx = { workspace = true }
|
|
tempfile = "3"
|