uli
03/09/2017, 4:54 PMfun SelectBuilder<Unit>.onPriorityRequest(): Unit {
priorityRequests.onReceive {
priorityCount++
it.execute()
}
}
fun SelectBuilder<Unit>.onRegularRequest(): Unit {
regularRequests.onReceive {
priorityCount = 0
it.execute()
}
}
while (true) {
if (priorityCount >= priorityRatio) {
select<Unit> {
onPriorityRequest()
onRegularRequest()
}
} else {
select<Unit> {
onRegularRequest()
onPriorityRequest()
}
}
}