override suspend fun readAvailable()

in ktor-io/jvm/src/io/ktor/utils/io/ByteBufferChannel.kt [631:643]


    override suspend fun readAvailable(dst: IoBuffer): Int {
        val consumed = readAsMuchAsPossible(dst)

        if (consumed == 0 && closed != null) {
            if (state.capacity.flush()) {
                return readAsMuchAsPossible(dst)
            } else {
                return -1
            }
        } else if (consumed > 0 || !dst.canWrite()) return consumed

        return readAvailableSuspend(dst)
    }