pub type UnindexedOrderError = OrderError<AssetNameExchange, InstrumentNameExchange>;Expand description
Type alias for a OrderError that is keyed on AssetNameExchange and
InstrumentNameExchange (yet to be indexed).
Aliased Type§
pub enum UnindexedOrderError {
Connectivity(ConnectivityError),
Rejected(ApiError<AssetNameExchange, InstrumentNameExchange>),
UnsupportedOrderType(String),
InvalidPrecision(PrecisionViolation),
}Variants§
Connectivity(ConnectivityError)
Connectivity-based error (timeout, socket failure, exchange offline), or a venue failure that leaves the order’s status unknown.
Transient — retry with backoff. See ConnectivityError for details. The order may or
may not have reached the matching engine, so before resubmitting an open request,
reconcile its state (open orders, fills); a blind retry can place it twice.
Rejected(ApiError<AssetNameExchange, InstrumentNameExchange>)
API-based error (rate limit, invalid instrument, order rejected, etc.).
Retry semantics depend on the specific ApiError variant. Only
ApiError::RateLimit is transient; other variants are not.
UnsupportedOrderType(String)
The order type is not supported by this connector.
Non-transient — the connector does not support this order type (e.g., trailing stop orders on a connector that only supports market/limit).
InvalidPrecision(PrecisionViolation)
A quantity or price in the request has more precision than the venue accepts, so the client refused it without sending it.
Non-transient — change the request. A client that refuses this way never rounds a value itself, because rounding would place a different order than the one requested; it documents how to read the venue’s precision so the caller can round first.