fun offer()

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
            }
        }
    }