pub struct BitmexDataClientConfigBuilder<S: State = Empty> { /* private fields */ }Expand description
Use builder syntax to set the inputs and finish with build().
Implementations§
Source§impl<S: State> BitmexDataClientConfigBuilder<S>
impl<S: State> BitmexDataClientConfigBuilder<S>
Sourcepub fn build(self) -> BitmexDataClientConfigwhere
S: IsComplete,
pub fn build(self) -> BitmexDataClientConfigwhere
S: IsComplete,
Finish building and return the requested object
Sourcepub fn api_key(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
pub fn api_key(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
Sourcepub fn maybe_api_key(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
pub fn maybe_api_key(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
Sourcepub fn api_secret(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
pub fn api_secret(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
Sourcepub fn maybe_api_secret(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
pub fn maybe_api_secret(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
Sourcepub fn base_url_http(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetBaseUrlHttp<S>>where
S::BaseUrlHttp: IsUnset,
pub fn base_url_http(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetBaseUrlHttp<S>>where
S::BaseUrlHttp: IsUnset,
Sourcepub fn maybe_base_url_http(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetBaseUrlHttp<S>>where
S::BaseUrlHttp: IsUnset,
pub fn maybe_base_url_http(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetBaseUrlHttp<S>>where
S::BaseUrlHttp: IsUnset,
Sourcepub fn base_url_ws(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetBaseUrlWs<S>>where
S::BaseUrlWs: IsUnset,
pub fn base_url_ws(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetBaseUrlWs<S>>where
S::BaseUrlWs: IsUnset,
Sourcepub fn maybe_base_url_ws(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetBaseUrlWs<S>>where
S::BaseUrlWs: IsUnset,
pub fn maybe_base_url_ws(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetBaseUrlWs<S>>where
S::BaseUrlWs: IsUnset,
Sourcepub fn proxy_url(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
pub fn proxy_url(
self,
value: String,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
Sourcepub fn maybe_proxy_url(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
pub fn maybe_proxy_url(
self,
value: Option<String>,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
Sourcepub fn http_timeout_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetHttpTimeoutSecs<S>>where
S::HttpTimeoutSecs: IsUnset,
pub fn http_timeout_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetHttpTimeoutSecs<S>>where
S::HttpTimeoutSecs: IsUnset,
Sourcepub fn maybe_http_timeout_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetHttpTimeoutSecs<S>>where
S::HttpTimeoutSecs: IsUnset,
pub fn maybe_http_timeout_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetHttpTimeoutSecs<S>>where
S::HttpTimeoutSecs: IsUnset,
Sourcepub fn max_retries(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRetries<S>>where
S::MaxRetries: IsUnset,
pub fn max_retries(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRetries<S>>where
S::MaxRetries: IsUnset,
Sourcepub fn maybe_max_retries(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRetries<S>>where
S::MaxRetries: IsUnset,
pub fn maybe_max_retries(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRetries<S>>where
S::MaxRetries: IsUnset,
Sourcepub fn retry_delay_initial_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRetryDelayInitialMs<S>>where
S::RetryDelayInitialMs: IsUnset,
pub fn retry_delay_initial_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRetryDelayInitialMs<S>>where
S::RetryDelayInitialMs: IsUnset,
Sourcepub fn maybe_retry_delay_initial_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRetryDelayInitialMs<S>>where
S::RetryDelayInitialMs: IsUnset,
pub fn maybe_retry_delay_initial_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRetryDelayInitialMs<S>>where
S::RetryDelayInitialMs: IsUnset,
Sourcepub fn retry_delay_max_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRetryDelayMaxMs<S>>where
S::RetryDelayMaxMs: IsUnset,
pub fn retry_delay_max_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRetryDelayMaxMs<S>>where
S::RetryDelayMaxMs: IsUnset,
Sourcepub fn maybe_retry_delay_max_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRetryDelayMaxMs<S>>where
S::RetryDelayMaxMs: IsUnset,
pub fn maybe_retry_delay_max_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRetryDelayMaxMs<S>>where
S::RetryDelayMaxMs: IsUnset,
Sourcepub fn heartbeat_interval_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>where
S::HeartbeatIntervalSecs: IsUnset,
pub fn heartbeat_interval_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>where
S::HeartbeatIntervalSecs: IsUnset,
Sourcepub fn maybe_heartbeat_interval_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>where
S::HeartbeatIntervalSecs: IsUnset,
pub fn maybe_heartbeat_interval_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>where
S::HeartbeatIntervalSecs: IsUnset,
Sourcepub fn recv_window_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRecvWindowMs<S>>where
S::RecvWindowMs: IsUnset,
pub fn recv_window_ms(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetRecvWindowMs<S>>where
S::RecvWindowMs: IsUnset,
Optional (Some / Option setters).
Default: 10_000.
Receive window in milliseconds for signed requests.
This value determines how far in the future the api-expires timestamp will be set
for signed REST requests. BitMEX uses seconds-granularity Unix timestamps in the
api-expires header, calculated as: current_timestamp + (recv_window_ms / 1000).
Note: This parameter is specified in milliseconds for consistency with other
adapter configurations (e.g., Bybit’s recv_window_ms), but BitMEX only supports
seconds-granularity timestamps. The value is converted via integer division, so
10000ms becomes 10 seconds, 15500ms becomes 15 seconds, etc.
A larger window provides more tolerance for clock skew and network latency, but increases the replay attack window. The default of 10 seconds should be sufficient for most deployments. Consider increasing this value (e.g., to 30_000ms = 30s) if you experience request expiration errors due to clock drift or high network latency.
Sourcepub fn maybe_recv_window_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRecvWindowMs<S>>where
S::RecvWindowMs: IsUnset,
pub fn maybe_recv_window_ms(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetRecvWindowMs<S>>where
S::RecvWindowMs: IsUnset,
Optional (Some / Option setters).
Default: 10_000.
Receive window in milliseconds for signed requests.
This value determines how far in the future the api-expires timestamp will be set
for signed REST requests. BitMEX uses seconds-granularity Unix timestamps in the
api-expires header, calculated as: current_timestamp + (recv_window_ms / 1000).
Note: This parameter is specified in milliseconds for consistency with other
adapter configurations (e.g., Bybit’s recv_window_ms), but BitMEX only supports
seconds-granularity timestamps. The value is converted via integer division, so
10000ms becomes 10 seconds, 15500ms becomes 15 seconds, etc.
A larger window provides more tolerance for clock skew and network latency, but increases the replay attack window. The default of 10 seconds should be sufficient for most deployments. Consider increasing this value (e.g., to 30_000ms = 30s) if you experience request expiration errors due to clock drift or high network latency.
Sourcepub fn active_only(
self,
value: bool,
) -> BitmexDataClientConfigBuilder<SetActiveOnly<S>>where
S::ActiveOnly: IsUnset,
pub fn active_only(
self,
value: bool,
) -> BitmexDataClientConfigBuilder<SetActiveOnly<S>>where
S::ActiveOnly: IsUnset,
Sourcepub fn maybe_active_only(
self,
value: Option<bool>,
) -> BitmexDataClientConfigBuilder<SetActiveOnly<S>>where
S::ActiveOnly: IsUnset,
pub fn maybe_active_only(
self,
value: Option<bool>,
) -> BitmexDataClientConfigBuilder<SetActiveOnly<S>>where
S::ActiveOnly: IsUnset,
Sourcepub fn update_instruments_interval_mins(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetUpdateInstrumentsIntervalMins<S>>where
S::UpdateInstrumentsIntervalMins: IsUnset,
pub fn update_instruments_interval_mins(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetUpdateInstrumentsIntervalMins<S>>where
S::UpdateInstrumentsIntervalMins: IsUnset,
Sourcepub fn maybe_update_instruments_interval_mins(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetUpdateInstrumentsIntervalMins<S>>where
S::UpdateInstrumentsIntervalMins: IsUnset,
pub fn maybe_update_instruments_interval_mins(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetUpdateInstrumentsIntervalMins<S>>where
S::UpdateInstrumentsIntervalMins: IsUnset,
Sourcepub fn environment(
self,
value: BitmexEnvironment,
) -> BitmexDataClientConfigBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
pub fn environment(
self,
value: BitmexEnvironment,
) -> BitmexDataClientConfigBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
Sourcepub fn maybe_environment(
self,
value: Option<BitmexEnvironment>,
) -> BitmexDataClientConfigBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
pub fn maybe_environment(
self,
value: Option<BitmexEnvironment>,
) -> BitmexDataClientConfigBuilder<SetEnvironment<S>>where
S::Environment: IsUnset,
Sourcepub fn max_requests_per_second(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>where
S::MaxRequestsPerSecond: IsUnset,
pub fn max_requests_per_second(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>where
S::MaxRequestsPerSecond: IsUnset,
Sourcepub fn maybe_max_requests_per_second(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>where
S::MaxRequestsPerSecond: IsUnset,
pub fn maybe_max_requests_per_second(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>where
S::MaxRequestsPerSecond: IsUnset,
Sourcepub fn max_requests_per_minute(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerMinute<S>>where
S::MaxRequestsPerMinute: IsUnset,
pub fn max_requests_per_minute(
self,
value: u32,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerMinute<S>>where
S::MaxRequestsPerMinute: IsUnset,
Sourcepub fn maybe_max_requests_per_minute(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerMinute<S>>where
S::MaxRequestsPerMinute: IsUnset,
pub fn maybe_max_requests_per_minute(
self,
value: Option<u32>,
) -> BitmexDataClientConfigBuilder<SetMaxRequestsPerMinute<S>>where
S::MaxRequestsPerMinute: IsUnset,
Sourcepub fn transport_backend(
self,
value: TransportBackend,
) -> BitmexDataClientConfigBuilder<SetTransportBackend<S>>where
S::TransportBackend: IsUnset,
pub fn transport_backend(
self,
value: TransportBackend,
) -> BitmexDataClientConfigBuilder<SetTransportBackend<S>>where
S::TransportBackend: IsUnset,
Sourcepub fn maybe_transport_backend(
self,
value: Option<TransportBackend>,
) -> BitmexDataClientConfigBuilder<SetTransportBackend<S>>where
S::TransportBackend: IsUnset,
pub fn maybe_transport_backend(
self,
value: Option<TransportBackend>,
) -> BitmexDataClientConfigBuilder<SetTransportBackend<S>>where
S::TransportBackend: IsUnset,
Auto Trait Implementations§
impl<S> Freeze for BitmexDataClientConfigBuilder<S>
impl<S> RefUnwindSafe for BitmexDataClientConfigBuilder<S>
impl<S> Send for BitmexDataClientConfigBuilder<S>
impl<S> Sync for BitmexDataClientConfigBuilder<S>
impl<S> Unpin for BitmexDataClientConfigBuilder<S>
impl<S> UnsafeUnpin for BitmexDataClientConfigBuilder<S>
impl<S> UnwindSafe for BitmexDataClientConfigBuilder<S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more