in integration-test/lincheck/src/main/org/jetbrains/lincheck_test/datastructures/SequentialIntChannel.kt [29:41]
fun offer(x: Int): Boolean {
while (true) {
if (closed) throw ClosedSendChannelException("")
if (receivers.isNotEmpty()) {
val r = receivers.removeAt(0)
if (r.tryResume0(x)) return true
} else {
if (buffer.size == capacity) return false
buffer.add(x)
return true
}
}
}