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: SecretString,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
pub fn api_key(
self,
value: SecretString,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
Sourcepub fn maybe_api_key(
self,
value: Option<SecretString>,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
pub fn maybe_api_key(
self,
value: Option<SecretString>,
) -> BitmexDataClientConfigBuilder<SetApiKey<S>>where
S::ApiKey: IsUnset,
Sourcepub fn api_secret(
self,
value: SecretString,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
pub fn api_secret(
self,
value: SecretString,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
Sourcepub fn maybe_api_secret(
self,
value: Option<SecretString>,
) -> BitmexDataClientConfigBuilder<SetApiSecret<S>>where
S::ApiSecret: IsUnset,
pub fn maybe_api_secret(
self,
value: Option<SecretString>,
) -> 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: SecretString,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
pub fn proxy_url(
self,
value: SecretString,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
Sourcepub fn maybe_proxy_url(
self,
value: Option<SecretString>,
) -> BitmexDataClientConfigBuilder<SetProxyUrl<S>>where
S::ProxyUrl: IsUnset,
pub fn maybe_proxy_url(
self,
value: Option<SecretString>,
) -> 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 auth_timeout_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetAuthTimeoutSecs<S>>where
S::AuthTimeoutSecs: IsUnset,
pub fn auth_timeout_secs(
self,
value: u64,
) -> BitmexDataClientConfigBuilder<SetAuthTimeoutSecs<S>>where
S::AuthTimeoutSecs: IsUnset,
Sourcepub fn maybe_auth_timeout_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetAuthTimeoutSecs<S>>where
S::AuthTimeoutSecs: IsUnset,
pub fn maybe_auth_timeout_secs(
self,
value: Option<u64>,
) -> BitmexDataClientConfigBuilder<SetAuthTimeoutSecs<S>>where
S::AuthTimeoutSecs: 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.