Skip to main content

KrakenDataClientConfigBuilder

Struct KrakenDataClientConfigBuilder 

Source
pub struct KrakenDataClientConfigBuilder<S: State = Empty> { /* private fields */ }
Expand description

Use builder syntax to set the inputs and finish with build().

Implementations§

Source§

impl<S: State> KrakenDataClientConfigBuilder<S>

Source

pub fn build(self) -> KrakenDataClientConfig
where S: IsComplete,

Finish building and return the requested object

Source

pub fn api_key( self, value: String, ) -> KrakenDataClientConfigBuilder<SetApiKey<S>>
where S::ApiKey: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_api_key( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetApiKey<S>>
where S::ApiKey: IsUnset,

Optional (Some / Option setters).

Source

pub fn api_secret( self, value: String, ) -> KrakenDataClientConfigBuilder<SetApiSecret<S>>
where S::ApiSecret: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_api_secret( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetApiSecret<S>>
where S::ApiSecret: IsUnset,

Optional (Some / Option setters).

Source

pub fn product_type( self, value: KrakenProductType, ) -> KrakenDataClientConfigBuilder<SetProductType<S>>
where S::ProductType: IsUnset,

Optional (Some / Option setters). Default: KrakenProductType::Spot.

Source

pub fn maybe_product_type( self, value: Option<KrakenProductType>, ) -> KrakenDataClientConfigBuilder<SetProductType<S>>
where S::ProductType: IsUnset,

Optional (Some / Option setters). Default: KrakenProductType::Spot.

Source

pub fn environment( self, value: KrakenEnvironment, ) -> KrakenDataClientConfigBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: KrakenEnvironment::Live.

Source

pub fn maybe_environment( self, value: Option<KrakenEnvironment>, ) -> KrakenDataClientConfigBuilder<SetEnvironment<S>>
where S::Environment: IsUnset,

Optional (Some / Option setters). Default: KrakenEnvironment::Live.

Source

pub fn base_url( self, value: String, ) -> KrakenDataClientConfigBuilder<SetBaseUrl<S>>
where S::BaseUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_base_url( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetBaseUrl<S>>
where S::BaseUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn ws_public_url( self, value: String, ) -> KrakenDataClientConfigBuilder<SetWsPublicUrl<S>>
where S::WsPublicUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_ws_public_url( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetWsPublicUrl<S>>
where S::WsPublicUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn ws_private_url( self, value: String, ) -> KrakenDataClientConfigBuilder<SetWsPrivateUrl<S>>
where S::WsPrivateUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_ws_private_url( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetWsPrivateUrl<S>>
where S::WsPrivateUrl: IsUnset,

Optional (Some / Option setters).

Source

pub fn ws_l3_url( self, value: String, ) -> KrakenDataClientConfigBuilder<SetWsL3Url<S>>
where S::WsL3Url: IsUnset,

Optional (Some / Option setters). Override for the L3 WebSocket URL. Defaults to wss://ws-l3.kraken.com/v2.

Source

pub fn maybe_ws_l3_url( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetWsL3Url<S>>
where S::WsL3Url: IsUnset,

Optional (Some / Option setters). Override for the L3 WebSocket URL. Defaults to wss://ws-l3.kraken.com/v2.

Source

pub fn validate_l3_checksum( self, value: bool, ) -> KrakenDataClientConfigBuilder<SetValidateL3Checksum<S>>
where S::ValidateL3Checksum: IsUnset,

Optional (Some / Option setters). Default: true.

Validate Kraken’s CRC32 checksum on each L3 update.

Source

pub fn maybe_validate_l3_checksum( self, value: Option<bool>, ) -> KrakenDataClientConfigBuilder<SetValidateL3Checksum<S>>
where S::ValidateL3Checksum: IsUnset,

Optional (Some / Option setters). Default: true.

Validate Kraken’s CRC32 checksum on each L3 update.

Source

pub fn proxy_url( self, value: String, ) -> KrakenDataClientConfigBuilder<SetProxyUrl<S>>
where S::ProxyUrl: IsUnset,

Optional (Some / Option setters). Optional proxy URL for HTTP and WebSocket transports.

Source

pub fn maybe_proxy_url( self, value: Option<String>, ) -> KrakenDataClientConfigBuilder<SetProxyUrl<S>>
where S::ProxyUrl: IsUnset,

Optional (Some / Option setters). Optional proxy URL for HTTP and WebSocket transports.

Source

pub fn timeout_secs( self, value: u64, ) -> KrakenDataClientConfigBuilder<SetTimeoutSecs<S>>
where S::TimeoutSecs: IsUnset,

Optional (Some / Option setters). Default: 30.

Source

pub fn maybe_timeout_secs( self, value: Option<u64>, ) -> KrakenDataClientConfigBuilder<SetTimeoutSecs<S>>
where S::TimeoutSecs: IsUnset,

Optional (Some / Option setters). Default: 30.

Source

pub fn heartbeat_interval_secs( self, value: u64, ) -> KrakenDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>
where S::HeartbeatIntervalSecs: IsUnset,

Optional (Some / Option setters). Default: 30.

Source

pub fn maybe_heartbeat_interval_secs( self, value: Option<u64>, ) -> KrakenDataClientConfigBuilder<SetHeartbeatIntervalSecs<S>>
where S::HeartbeatIntervalSecs: IsUnset,

Optional (Some / Option setters). Default: 30.

Source

pub fn ws_idle_timeout_ms( self, value: u64, ) -> KrakenDataClientConfigBuilder<SetWsIdleTimeoutMs<S>>
where S::WsIdleTimeoutMs: IsUnset,

Optional (Some / Option setters). Default: 10_000.

Idle timeout (milliseconds) for the spot v2 WebSocket.

If no application data (any text or binary frame) is received within this window, the connection is treated as dead and the client reconnects and resubscribes. This recovers from a backend that acknowledges a subscription but never attaches the data fan-out: the socket stays open with no close frame or transport error, so nothing else detects it.

Kraken sends a heartbeat text frame once per second while at least one subscription is active, so a live subscribed connection resets this timer well within the window. Note the client’s keepalive ping is answered with a pong text frame, which also resets the timer roughly every heartbeat_interval_secs; the default below is therefore kept short enough to rely on the 1/s heartbeats rather than the keepalive, which assumes the connection carries at least one subscription. A connection held open without any subscription should disable this (0) or raise it above heartbeat_interval_secs.

0 disables the idle timeout.

Source

pub fn maybe_ws_idle_timeout_ms( self, value: Option<u64>, ) -> KrakenDataClientConfigBuilder<SetWsIdleTimeoutMs<S>>
where S::WsIdleTimeoutMs: IsUnset,

Optional (Some / Option setters). Default: 10_000.

Idle timeout (milliseconds) for the spot v2 WebSocket.

If no application data (any text or binary frame) is received within this window, the connection is treated as dead and the client reconnects and resubscribes. This recovers from a backend that acknowledges a subscription but never attaches the data fan-out: the socket stays open with no close frame or transport error, so nothing else detects it.

Kraken sends a heartbeat text frame once per second while at least one subscription is active, so a live subscribed connection resets this timer well within the window. Note the client’s keepalive ping is answered with a pong text frame, which also resets the timer roughly every heartbeat_interval_secs; the default below is therefore kept short enough to rely on the 1/s heartbeats rather than the keepalive, which assumes the connection carries at least one subscription. A connection held open without any subscription should disable this (0) or raise it above heartbeat_interval_secs.

0 disables the idle timeout.

Source

pub fn max_requests_per_second( self, value: u32, ) -> KrakenDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>
where S::MaxRequestsPerSecond: IsUnset,

Optional (Some / Option setters).

Source

pub fn maybe_max_requests_per_second( self, value: Option<u32>, ) -> KrakenDataClientConfigBuilder<SetMaxRequestsPerSecond<S>>
where S::MaxRequestsPerSecond: IsUnset,

Optional (Some / Option setters).

Source

pub fn transport_backend( self, value: TransportBackend, ) -> KrakenDataClientConfigBuilder<SetTransportBackend<S>>
where S::TransportBackend: IsUnset,

Optional (Some / Option setters). Default: <TransportBackend as Default>::default().

Source

pub fn maybe_transport_backend( self, value: Option<TransportBackend>, ) -> KrakenDataClientConfigBuilder<SetTransportBackend<S>>
where S::TransportBackend: IsUnset,

Optional (Some / Option setters). Default: <TransportBackend as Default>::default().

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Ungil for T
where T: Send,

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more