Packages

object DeadlineFilter

DeadlineFilter provides an admission control module that can be pushed onto the stack to reject requests with expired deadlines (deadlines are set in the TimeoutFilter). For servers, DeadlineFilter.module should be pushed onto the stack before the stats filters so stats are recorded for the request, and pushed after TimeoutFilter where a new Deadline is set. For clients, DeadlineFilter.module should be pushed before the stats filters; higher in the stack is preferable so requests are rejected as early as possible.

Note

Deadlines cross process boundaries and can span multiple nodes in a call graph. Even if a direct caller doesn't set a deadline, the server may still receive one and thus potentially fail the request. It is advised that all clients in the call graph be well prepared to handle NACKs before using this.

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

Type Members

  1. class DeadlineExceededException extends Exception with FailureFlags[DeadlineExceededException] with HasLogLevel
  2. case class MaxRejectFraction(maxRejectFraction: Double) extends Product with Serializable

    A class eligible for configuring a com.twitter.finagle.Stackable com.twitter.finagle.service.DeadlineFilter module.

    maxRejectFraction

    Maximum fraction of requests that can be rejected over rejectPeriod. Must be between 0.0 and 1.0.

  3. case class Mode(param: FilterMode) extends Product with Serializable

    A class eligible for configuring a com.twitter.finagle.Stackable com.twitter.finagle.service.DeadlineFilter module.

    param

    Disabled will omit DeadlineFilter from the server stack. DarkMode will collect stats about deadlines but not reject requests. Enabled turns DeadlineFilter on.

  4. case class RejectPeriod(rejectPeriod: Duration) extends Product with Serializable

    A class eligible for configuring a com.twitter.finagle.Stackable com.twitter.finagle.service.DeadlineFilter module.

    rejectPeriod

    No more than maxRejectFraction of requests will be discarded over the rejectPeriod. Must be >= 1 second and <= 60 seconds.

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def module[Req, Rep]: Stackable[ServiceFactory[Req, Rep]]

    Creates a com.twitter.finagle.Stackable com.twitter.finagle.service.DeadlineFilter.

  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  21. object MaxRejectFraction extends Serializable
  22. case object Mode extends Product with Serializable
  23. object RejectPeriod extends Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped