final class NanoTimeTokenBucket extends TokenBucket
Default implementation of TokenBucket that uses System.nanoTime
as the time source.
- Source
- TokenBucket.scala
- Alphabetic
- By Inheritance
- NanoTimeTokenBucket
- TokenBucket
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to any2stringadd[NanoTimeTokenBucket] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
currentTime: Long
The current time in nanos.
The current time in nanos. The returned value is monotonic, might wrap over and has no relationship with wall-clock.
- returns
return the current time in nanos as a Long.
- Definition Classes
- NanoTimeTokenBucket → TokenBucket
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to StringFormat[NanoTimeTokenBucket] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
init(): Unit
This method must be called before the token bucket can be used.
This method must be called before the token bucket can be used.
- Definition Classes
- TokenBucket
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
offer(cost: Long): Long
Call this (side-effecting) method whenever an element should be passed through the token-bucket.
Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned.
If a non-zero value is returned, it is the responsibility of the caller to not call this method before the returned delay has been elapsed (but can be called later). This class does not check or protect against early calls.
- cost
How many tokens the element costs. Can be larger than the capacity of the bucket.
- Definition Classes
- TokenBucket
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Inherited from TokenBucket
Value Members
-
def
init(): Unit
This method must be called before the token bucket can be used.
This method must be called before the token bucket can be used.
- Definition Classes
- TokenBucket
-
def
offer(cost: Long): Long
Call this (side-effecting) method whenever an element should be passed through the token-bucket.
Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned.
If a non-zero value is returned, it is the responsibility of the caller to not call this method before the returned delay has been elapsed (but can be called later). This class does not check or protect against early calls.
- cost
How many tokens the element costs. Can be larger than the capacity of the bucket.
- Definition Classes
- TokenBucket
Inherited from AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Inherited from Any
Inherited by implicit conversion any2stringadd from NanoTimeTokenBucket to any2stringadd[NanoTimeTokenBucket]
Value Members
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to any2stringadd[NanoTimeTokenBucket] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
Inherited by implicit conversion StringFormat from NanoTimeTokenBucket to StringFormat[NanoTimeTokenBucket]
Value Members
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to StringFormat[NanoTimeTokenBucket] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
Inherited by implicit conversion Ensuring from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket]
Value Members
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
Inherited by implicit conversion ArrowAssoc from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket]
Value Members
-
def
->[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
def
→[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Ungrouped
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to any2stringadd[NanoTimeTokenBucket] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
currentTime: Long
The current time in nanos.
The current time in nanos. The returned value is monotonic, might wrap over and has no relationship with wall-clock.
- returns
return the current time in nanos as a Long.
- Definition Classes
- NanoTimeTokenBucket → TokenBucket
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (NanoTimeTokenBucket) ⇒ Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): NanoTimeTokenBucket
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to Ensuring[NanoTimeTokenBucket] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to StringFormat[NanoTimeTokenBucket] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
init(): Unit
This method must be called before the token bucket can be used.
This method must be called before the token bucket can be used.
- Definition Classes
- TokenBucket
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
offer(cost: Long): Long
Call this (side-effecting) method whenever an element should be passed through the token-bucket.
Call this (side-effecting) method whenever an element should be passed through the token-bucket. This method will return the number of nanoseconds the element needs to be delayed to conform with the token bucket parameters. Returns zero if the element can be emitted immediately. The method does not handle overflow, if an element is to be delayed longer in nanoseconds than what can be represented as a positive Long then an undefined value is returned.
If a non-zero value is returned, it is the responsibility of the caller to not call this method before the returned delay has been elapsed (but can be called later). This class does not check or protect against early calls.
- cost
How many tokens the element costs. Can be larger than the capacity of the bucket.
- Definition Classes
- TokenBucket
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (NanoTimeTokenBucket, B)
- Implicit
- This member is added by an implicit conversion from NanoTimeTokenBucket to ArrowAssoc[NanoTimeTokenBucket] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc