class Cached[-Req, +Rsp] extends DstBindingFactory[Req, Rsp]
Binds a Dst to a ServiceFactory.
Here, we're basically replicating the logic from Finagle's BindingFactory. This is done so we bind a destination before creating a client so that multiple requests to a single bound destination may share connection pools etc.
The logic has been changed to account for the way residuals play into naming. We use the helper classes Bound and BoundTree instead of Name.Bound and NameTree[Name.Bound] so that we can control when residual paths factor into caching.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Cached
- DstBindingFactory
- Closable
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new Cached(mkClient: (Bound) ⇒ ServiceFactory[Req, Rsp], pathMk: Mk[buoyant.Dst.Path, Req, Rsp] = Mk.identity[Dst.Path, Req, Rsp], boundMk: Mk[Bound, Req, Rsp] = Mk.identity[Dst.Bound, Req, Rsp], namer: NameInterpreter = DefaultInterpreter, statsReceiver: StatsReceiver = DefaultStatsReceiver, capacity: Capacity = Capacity.default, bindingTimeout: BindingTimeout = BindingTimeout.default, idleTtl: IdleTtl = IdleTtl.default)(implicit timer: Timer = DefaultTimer)
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
apply(dst: buoyant.Dst.Path, conn: ClientConnection): Future[Service[Req, Rsp]]
- Definition Classes
- Cached → DstBindingFactory
-
final
def
apply(dst: buoyant.Dst.Path): Future[Service[Req, Rsp]]
- Definition Classes
- DstBindingFactory
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
close(deadline: Time): Future[Unit]
- Definition Classes
- Cached → Closable
-
def
close(after: Duration): Future[Unit]
- Definition Classes
- Closable
-
final
def
close(): Future[Unit]
- Definition Classes
- Closable
-
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
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
status: Open.type
- Definition Classes
- Cached → DstBindingFactory
-
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( ... )