trait StackRouter[Req, Rsp] extends Router[Req, Rsp] with Parameterized[StackRouter[Req, Rsp]]

A Router that composes three com.twitter.finagle.Stacks:

* pathStack is a per-Dst.Path Stack segment. When this Stack is applied, the Dst.Path Stack.Param is configured. This type of destination has a destination com.twitter.finagle.Path, a base com.twitter.finagle.Dtab, and a local (usually per-request) Dtab.

* boundStack is a per-com.twitter.finagle.buoyant.Dst.Bound Stack segment. When this Stack is applied, the Dst.Bound Stack.Param is configured. This type of destination has an com.twitter.finagle.Addr, a bound id, and a residual path.

* clientStack is a per- com.twitter.finagle.BindingFactory.Dest Stack segment. When this Stack is applied, the BindingFactory.Dest Stack.Param is configured with a com.twitter.finagle.Name.Bound that does not have a residual com.twitter.finagle.Path.

The stack is divided into these layers so that caching may be applied bottom-up. This enables a clientStack to be shared by multiple boundStack and a boundStack to be shared by multiple pathStacks. It is the StackRouter's job to connect these Stack segments and to set the proper com.twitter.finagle.Stack.Params as described above.

Linear Supertypes
Parameterized[StackRouter[Req, Rsp]], Router[Req, Rsp], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StackRouter
  2. Parameterized
  3. Router
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def boundFiltered(f: Filter[Req, Rsp, Req, Rsp]): StackRouter[Req, Rsp]

    Prepend boundStack with the given filter.

  2. abstract def boundStack: Stack[ServiceFactory[Req, Rsp]]
  3. abstract def clientFiltered(f: Filter[Req, Rsp, Req, Rsp]): StackRouter[Req, Rsp]

    Prepend clientStack with the given filter.

  4. abstract def clientStack: Stack[ServiceFactory[Req, Rsp]]
  5. abstract def factory(): ServiceFactory[Req, Rsp]

    Create a new ServiceFactory that performs per-request routing.

    Create a new ServiceFactory that performs per-request routing.

    Definition Classes
    Router
  6. abstract def params: Params

    The current parameter map used in this StackRouter

    The current parameter map used in this StackRouter

    Definition Classes
    StackRouter → Parameterized
  7. abstract def pathFiltered(f: Filter[Req, Rsp, Req, Rsp]): StackRouter[Req, Rsp]

    Prepend pathStack with the given filter.

  8. abstract def pathStack: Stack[ServiceFactory[Req, Rsp]]
  9. abstract def withBoundStack(stack: Stack[ServiceFactory[Req, Rsp]]): StackRouter[Req, Rsp]
  10. abstract def withClientStack(stack: Stack[ServiceFactory[Req, Rsp]]): StackRouter[Req, Rsp]
  11. abstract def withParams(ps: Params): StackRouter[Req, Rsp]
    Definition Classes
    StackRouter → Parameterized
  12. abstract def withPathStack(stack: Stack[ServiceFactory[Req, Rsp]]): StackRouter[Req, Rsp]

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def configured[P](psp: (P, Param[P])): StackRouter[Req, Rsp]
    Definition Classes
    Parameterized
  7. def configured[P](p: P)(implicit sp: Param[P]): StackRouter[Req, Rsp]
    Definition Classes
    Parameterized
  8. def configuredParams(newParams: Params): StackRouter[Req, Rsp]
    Definition Classes
    Parameterized
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  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
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  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( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Parameterized[StackRouter[Req, Rsp]]

Inherited from Router[Req, Rsp]

Inherited from AnyRef

Inherited from Any

Ungrouped