Operator onBackpressureDrop()

Like onBackpressureBuffer matches with BackpressureStrategy.BUFFER, onBackpressureDrop matches with BackpressureStrategy.DROP in terms of backpressure strategy, with some configuration options.

So, let's now try this:

    fun main(args: Array<String>) { 
      val source = Observable.range(1, 1000) 
      source.toFlowable(BackpressureStrategy.MISSING)//(1) 
        .onBackpressureDrop{ print("Dropped $it;\t") }//(2) 
        .map { MyItem12(it) } 
        .observeOn(Schedulers.io()) 
        .subscribe{ 
           print("Rec. $it;\t") 
           runBlocking { delay(1000) } 
        } 
        runBlocking { delay(600000) } 
    } 
 
    data class MyItem12 (val id:Int) { 
    init { 
        print("MyItem init $id;\t") 
    } 
   } 

As shown in the previous program, we used BackpressureStrategy.MISSING on comment (1). On comment (2)

Get Reactive Programming in Kotlin now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.