Skip to main content

UnindexedClientError

Type Alias UnindexedClientError 

Source
pub type UnindexedClientError = ClientError<AssetNameExchange, InstrumentNameExchange>;
Expand description

Type alias for a ClientError that is keyed on AssetNameExchange and InstrumentNameExchange (yet to be indexed).

Aliased Type§

pub enum UnindexedClientError {
    Connectivity(ConnectivityError),
    Api(ApiError<AssetNameExchange, InstrumentNameExchange>),
    TaskFailed(String),
    Internal(String),
    Truncated {
        limit: usize,
    },
    TruncatedSnapshot {
        limit: usize,
    },
}

Variants§

§

Connectivity(ConnectivityError)

Connectivity based error.

eg/ Timeout.

§

Api(ApiError<AssetNameExchange, InstrumentNameExchange>)

API based error.

eg/ RateLimit.

§

TaskFailed(String)

A background task panicked or was cancelled during an operation.

This indicates a bug or unexpected runtime condition (e.g., a tokio spawn_blocking task panicked). The operation was not retried and the caller should treat this as non-recoverable, requiring operator attention.

§

Internal(String)

An opaque error from an upstream library that cannot be further classified.

This is a catch-all for errors that don’t fit into Self::Connectivity or Self::Api categories — typically because the upstream library (e.g., ibapi, binance-sdk) returns unstructured errors.

Conservatively treated as non-transient. If you encounter this error frequently, consider filing an issue to improve error classification.

§

Truncated

Activity pagination was truncated at the page limit.

The returned data from the underlying call is a partial result. This error indicates that more activities exist beyond the safety limit, typically due to a very long outage (>5000 fills). Callers should alert operators and consider manual reconciliation.

Fields

§limit: usize

Maximum number of pages that were fetched before truncation.

§

TruncatedSnapshot

Open orders snapshot was truncated at the API’s row limit.

Unlike Self::Truncated (which applies to paginated activity fetches), this error indicates a single-request endpoint hit its maximum row count. Alpaca’s /v2/orders endpoint caps results at 500; accounts with more concurrent open orders will have an incomplete snapshot.

Callers should alert operators — an incomplete order snapshot can cause duplicate submissions, missed cancellations, or incorrect position sizing.

Fields

§limit: usize

Maximum number of rows returned by the single-request endpoint.