I have a question about Kotlin flow buffer capacity. The following code:
import kotlinx.coroutines.flow.*
suspend fun main() = coroutineScope {
flow {
for (i in 1..3) {
println("Emiting $i")
emit(i)
}
}.buffer(0)
.collect {
value ->
delay(100)
println("Consuming $value")
}
}
generates the following output:
Emiting 1
Emiting 2
Consuming 1
Emiting 3
Consuming 2
Consuming 3
If I remove the buffer, the result is:
Emiting 1
Consuming 1
Emiting 2
Consuming 2
Emiting 3
Consuming 3
Shall I assume that when the capacity is 0 means that is actually 1?