[package] name = "mxaccess-compat" description = "LMXProxyServer-shaped Rust facade on top of `mxaccess::Session`. Optional / post-V1." version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true authors.workspace = true [dependencies] mxaccess = { path = "../mxaccess", version = "0.0.0" } tokio = { workspace = true } tokio-stream = { version = "0.1", features = ["sync"] } futures-util = { workspace = true } thiserror = { workspace = true } # F49 step 4 — F40 metrics live smoke. Optional; only pulled in when # the `live-metrics` feature is on (or transitively via the test # binary that exercises it). metrics = { workspace = true, optional = true } metrics-exporter-prometheus = { version = "0.16", default-features = false, optional = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "sync", "time"] } async-trait = { workspace = true } mxaccess-rpc = { path = "../mxaccess-rpc", version = "0.0.0" } # F56 — buffered subscribe live test needs real Galaxy DB metadata # (engine_id / platform_id / object_id / attribute_id from # `dbo.gobject` etc.); the StaticResolver shim used by lmx_write_live # was hardcoded to platform_id=1 / engine_id=2 which the engine # silently accepts for writes but doesn't dispatch DataUpdate frames # against. The buffered live test resolves real IDs via SqlTagResolver. mxaccess-galaxy = { path = "../mxaccess-galaxy", version = "0.0.0", features = ["galaxy-resolver"] } # F49 step 2 — recovery replay test needs the # `mxaccess::RebuildFactory` typedef's NmxClient + the # NmxSubscriptionMessage type for the broadcast receiver signature. mxaccess-nmx = { path = "../mxaccess-nmx", version = "0.0.0", features = ["windows-com"] } mxaccess-codec = { path = "../mxaccess-codec", version = "0.0.0" } # Live tests use tracing-subscriber to dump router/dcom_sink trace # events on demand (set RUST_LOG=mxaccess=trace,mxaccess_callback=trace). tracing = { workspace = true } tracing-subscriber = { version = "0.3", features = ["env-filter"] } [features] default = [] # F49 / F54 live test gate. Enables `Session::connect_nmx_auto` for # the live integration test at `tests/lmx_write_complete_live.rs`. live-windows-com = ["mxaccess/windows-com"] # F49 step 4 — F40 metrics live smoke. Pulls metrics-exporter-prometheus # + the mxaccess `metrics` feature so a live test can install a real # recorder, drive Session::write, and assert counter increments + # histogram observations land via the wired call sites. live-metrics = ["mxaccess/metrics", "mxaccess/windows-com", "dep:metrics", "dep:metrics-exporter-prometheus"] [lints] workspace = true