package Ġcom . bad oo . reak t ive . observable Ċ Ċ import Ġcom . bad oo . reak t ive . dis posable . Disposable Ċ import Ġcom . bad oo . reak t ive . utils . atomic . Atomic Long Ċ import Ġcom . bad oo . reak t ive . utils . clock . Clock Ċ import Ġcom . bad oo . reak t ive . utils . clock . Default Clock Ċ Ċ fun Ġ< T > ĠObservable < T >. throttle ( window Millis : ĠLong ): ĠObservable < T > Ġ= Ġthrottle ( window Millis , ĠDefault Clock ) Ċ Ċ internal Ġfun Ġ< T > ĠObservable < T >. throttle ( window Millis : ĠLong , Ġclock : ĠClock ): ĠObservable < T > Ġ= ĊĠĠĠ Ġobservable Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠ Ġsubscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠObservable Observer < T >, ĠObservable Callbacks < T > Ġby Ġemitter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlast Time Ġ= ĠAtomic Long (- window Millis ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Subscribe ( dis posable : ĠDis posable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . set Disposable ( dis posable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Next ( value : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtime Ġ= Ġclock . uptime Millis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( time Ġ- Ġlast Time . value Ġ>= Ġwindow Millis ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Time . value Ġ= Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ