withPermit

fun <T> SemaphoreProvider.withPermit(vararg address: String, coroutineContext: CoroutineContext = Dispatchers.Default, block: suspend () -> T): Deferred<T>
fun <T> SemaphoreProvider.withPermit(addresses: List<String>, coroutineContext: CoroutineContext = Dispatchers.Default, block: suspend () -> T): Deferred<T>