Packages

t

genkai

RateLimiter

trait RateLimiter[F[_]] extends AnyRef

F

- effect type

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RateLimiter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def acquire[A](key: A, instant: Instant, cost: Long)(implicit arg0: Key[A]): F[Boolean]

    Try to acquire token.

    Try to acquire token. Returns immediately.

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

    instant

    - request time

    cost

    - request cost

    returns

    - true if token was acquired, false - otherwise

  2. abstract def close(): F[Unit]

    Close underlying resources if any

    Close underlying resources if any

    returns

    - unit if successfully closed or error wrapped in effect

  3. abstract def monadError: MonadError[F]
    Attributes
    protected
  4. abstract def permissions[A](key: A)(implicit arg0: Key[A]): F[Long]

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

    returns

    - unused permissions

  5. abstract def reset[A](key: A)(implicit arg0: Key[A]): F[Unit]

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

    returns

    - unit if successfully reset tokens

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def acquire[A](key: A, cost: Long)(implicit arg0: Key[A]): F[Boolean]

    Try to acquire token.

    Try to acquire token. Returns immediately.

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

    cost

    - request cost

  5. final def acquire[A](key: A, instant: Instant)(implicit arg0: Key[A]): F[Boolean]

    Try to acquire token.

    Try to acquire token. Returns immediately.

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

    instant

    - request time

  6. final def acquire[A](key: A)(implicit arg0: Key[A]): F[Boolean]

    Try to acquire token.

    Try to acquire token. Returns immediately.

    A

    - key type with implicit genkai.Key type class instance

    key

    - ~ object id

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped