Packages

c

com.twitter.finagle.service

ShardingService

class ShardingService[Req, Rep] extends Service[Req, Rep]

ShardingService takes a Distributor where the handle is a service. It uses the distributor to distribute requests *only* when the hash function returns Some[Long]. If None is returned, it throws NotShardableException. If the underlying service for a particular shard is not available, NotServableException is thrown. Example: val serviceFactory = KetamaShardingServiceBuilder() .nodes(services) // services is of type Seq[(String, Service[Req,Rep])] .withHash { req => Some(hashCodeOfSomething)} .buildFactory() val service = serviceFactory() service(req) // where req is a Req and may have ShardableRequest mixed in

Linear Supertypes
Service[Req, Rep], Closable, (Req) ⇒ Future[Rep], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ShardingService
  2. Service
  3. Closable
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ShardingService(distributor: Distributor[Service[Req, Rep]], hash: (Req) ⇒ Option[Long])

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. def andThen[A](g: (Future[Rep]) ⇒ A): (Req) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(request: Req): Future[Rep]

    This is the method to override/implement to create your own Service.

    This is the method to override/implement to create your own Service.

    Definition Classes
    ShardingServiceService → Function1
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def close(deadline: Time): Future[Unit]
    Definition Classes
    ShardingServiceService → Closable
  9. def close(after: Duration): Future[Unit]
    Definition Classes
    Closable
  10. final def close(): Future[Unit]
    Definition Classes
    Closable
  11. def compose[A](g: (A) ⇒ Req): (A) ⇒ Future[Rep]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isAvailable: Boolean

    Determines whether this Service is available (can accept requests with a reasonable likelihood of success).

    Determines whether this Service is available (can accept requests with a reasonable likelihood of success).

    Definition Classes
    Service
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def map[Req1](f: (Req1) ⇒ Req): Service[Req1, Rep]
    Definition Classes
    Service
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def status: Status

    The current availability Status of this Service.

    The current availability Status of this Service.

    Definition Classes
    ShardingServiceService
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Service[Req, Rep]

Inherited from Closable

Inherited from (Req) ⇒ Future[Rep]

Inherited from AnyRef

Inherited from Any

Ungrouped