retryWithPolicy

suspend fun <T> retryWithPolicy(policy: RetryPolicy = RetryPolicy(), block: suspend () -> T): T

Execute a suspending function with retry logic.

Return

Result of block execution

Parameters

policy

Retry policy to use

block

Suspending function to execute

Throws

if max attempts exceeded