Default

Properties

Link copied to clipboard
open override val errorEquals: (Throwable, Throwable) -> Boolean? = null

Determines whether two errors are equal.

Link copied to clipboard
open override val gcTime: Duration

The period during which the Key's return value, if not referenced anywhere, is temporarily cached in memory.

Link copied to clipboard
open override val keepAliveTime: Duration

Duration to remain state as an active.

Link copied to clipboard
open override val logger: LoggerFn? = null

Specifies the logger function.

Link copied to clipboard
open override val onError: (ErrorRecord, SubscriptionModel<*>) -> Unit? = null

This callback function will be called if some mutation encounters an error.

Link copied to clipboard
open override val retryCount: Int = 3

The number of times to retry the operation.

Link copied to clipboard
open override val retryInitialInterval: Duration

The initial interval for retrying the operation.

Link copied to clipboard
open override val retryMaxInterval: Duration

The maximum interval for retrying the operation.

Link copied to clipboard
open override val retryMultiplier: Double = 1.5

The multiplier for the next interval.

Link copied to clipboard
open override val retryRandomizationFactor: Double = 0.5

The randomization factor for the next interval.

Link copied to clipboard
open override val retryRandomizer: Random

The random number generator for the next interval.

Link copied to clipboard
open override val shouldRetry: (Throwable) -> Boolean

Specifies whether to retry the operation.

Link copied to clipboard

Determines whether to suppress error information when relaying it using soil.query.core.ErrorRelay.

Functions

Link copied to clipboard
fun SubscriptionOptions.copy(gcTime: Duration = this.gcTime, errorEquals: (Throwable, Throwable) -> Boolean? = this.errorEquals, onError: (ErrorRecord, SubscriptionModel<*>) -> Unit? = this.onError, shouldSuppressErrorRelay: (ErrorRecord, SubscriptionModel<*>) -> Boolean? = this.shouldSuppressErrorRelay, keepAliveTime: Duration = this.keepAliveTime, logger: LoggerFn? = this.logger, shouldRetry: (Throwable) -> Boolean = this.shouldRetry, retryCount: Int = this.retryCount, retryInitialInterval: Duration = this.retryInitialInterval, retryMaxInterval: Duration = this.retryMaxInterval, retryMultiplier: Double = this.retryMultiplier, retryRandomizationFactor: Double = this.retryRandomizationFactor, retryRandomizer: Random = this.retryRandomizer): SubscriptionOptions

Copies the current SubscriptionOptions with the specified settings.

Link copied to clipboard

Generates an RetryFn for Exponential Backoff Strategy.