class
Debouncer extends AnyRef
Instance Constructors
-
new
Debouncer(name: String, scheduler: SchedulerLike, delay: FiniteDuration, maxDelay: FiniteDuration, action: () ⇒ Unit, debounceFirst: Boolean = true, clock: Clock = java.time.Clock.systemUTC())
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
call(): Unit
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Highly performant generic debouncer
Note: This is not written as an Actor for performance reasons. Debounced calls are filtered synchronously, in the caller thread, without the need for locks, context switches, or heap allocations. We use AtomicBoolean to resolve concurrent races; the probability of contending on an AtomicBoolean transition is very low.