pub struct SubscribeReport {
pub handle: SubscriptionHandle,
pub ok: Vec<SeriesKey>,
pub failed: Vec<FailedStream>,
pub seed_outcomes: Vec<(SeriesKey, SeedOutcome)>,
}Expand description
Outcome of crate::Station::subscribe in continue-on-error mode.
handle always exists and carries events for every stream in ok.
failed is a per-stream list of subscribes that did not produce a
live forwarder. The most common entry there is
StationError::StreamNotSupported — the venue genuinely does not
expose the requested stream on the WS wire. Other errors (transport,
REST, symbol normalize) also land here so the consumer can log them
without aborting the whole subscribe batch.
failed is empty on success — callers that want fail-fast semantics
can simply if !report.failed.is_empty() { return Err(...) }.
Fields§
§handle: SubscriptionHandle§ok: Vec<SeriesKey>§failed: Vec<FailedStream>§seed_outcomes: Vec<(SeriesKey, SeedOutcome)>Cold-seed crate::SeedOutcome recorded for every ok key whose
acquire path ran a trade-history seed fetch (derived kinds that
consume Kind::Trade — footprint/counted-bars/price-path/CVD/TPO
families). Absent entries mean either no seed fetch happened for
that key (WS-only cold start, poll-only stream, or a re-acquire of
an already-live mux) or the key is not in ok.
Not abused for failed — a truncated-but-nonempty seed is still a
successful subscribe (the key is in ok); check
SeedOutcome::truncated_by to see whether the venue capped it.