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.serverModule 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.clientModule 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.
- Alphabetic
- By Inheritance
- DeadlineFilter
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class DeadlineExceededException extends Exception with FailureFlags[DeadlineExceededException] with HasLogLevel
- 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.
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.
- 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.
A class eligible for configuring a com.twitter.finagle.Stackable com.twitter.finagle.service.DeadlineFilter module.
- param
Disabled
will omitDeadlineFilter
from the server stack.DarkMode
will collect stats about deadlines but not reject requests.Enabled
turnsDeadlineFilter
on.
- 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.
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 therejectPeriod
. Must be>= 1 second
and<= 60 seconds
.
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clientModule[Req, Rep]: Stackable[ServiceFactory[Req, Rep]]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def serverModule[Req, Rep]: Stackable[ServiceFactory[Req, Rep]]
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object MaxRejectFraction extends Serializable
- case object Mode extends Product with Serializable
- object RejectPeriod extends Serializable