retryFlow

fun <T> retryFlow(delayConfig: Flow<RetryFlowDelayConfig> = flowOf(RetryFlowDelayConfig()), onError: suspend (error: Throwable, delay: Duration) -> Unit = { _, _ -> }, block: suspend FlowCollector<T>.() -> Unit): Flow<T>
fun <T> retryFlow(scheduleBase: Duration = RetryFlowDelayConfig.default.scheduleBase, scheduleFactor: Double = RetryFlowDelayConfig.default.scheduleFactor, scheduleLimit: Duration = RetryFlowDelayConfig.default.scheduleLimit, scheduleJitter: ClosedRange<Double> = RetryFlowDelayConfig.default.scheduleJitter, onError: suspend (error: Throwable, delay: Duration) -> Unit = { _, _ -> }, block: suspend FlowCollector<T>.() -> Unit): Flow<T>