ores.marketdata.client
Table of Contents
2. Summary
ores.marketdata.client is the typed, authenticated facade non-UI
consumers use to reach the market-data service. market_data_client
centralises the request/response round trip and the service authentication,
so a caller states what it wants rather than hand-rolling a subject, a codec
payload and an auth header. fx_spot_subscription is the streaming half: it
translates an ORE key plus the consuming (tenant, party) context
into the per-party tick subject and delivers decoded ticks to a callback.
Both take a connected nats_client and own no state beyond it.
3. Inputs
- A connected, authenticated
ores::nats::service::nats_client. - An ORE canonical key (for example
FX/RATE/EUR/USD) plus the tenant and party the caller consumes as.
4. Outputs
- Decoded protocol responses: market series, observations and routes.
- Decoded
fx_spot_tickvalues delivered to a caller-supplied handler.
5. Entry points
include/ores.marketdata.client/market_data_client.hpp,include/ores.marketdata.client/fx_spot_subscription.hpp.
6. Dependencies
ores.natsfor the transport and the wire codec.ores.marketdata.apifor the protocol and domain types.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.marketdata.core — the handlers these requests reach.
- ores.marketdata.service — the process that composes them.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.nats.lib
ores.marketdata.api.lib
ores.refdata.api.lib
ores.refdata.client.lib
PRIVATE
ores.logging.lib
ores.utility.lib
libfort::fort)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
ores.marketdata.client.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
