Следующее работает, но я думаю, что оно может быть лучше, т. Е. Более идиоматическим rx / функциональным / менее изменчивым.
var total = 0
var published = 0
service
.getThings()
.doOnNext { total++ }
.flatMap { shouldPublish(it) } // Returns empty() or just(it)
.doOnNext { published++ }
.subscribe { publishToSqs(it) }
println("Published $publish out of $total")
Есть идеи?