Class/Object

com.twitter.finagle.thrift.exp.partitioning

ClientCustomStrategy

Related Docs: object ClientCustomStrategy | package partitioning

Permalink

final class ClientCustomStrategy[A] extends CustomPartitioningStrategy

An API to set a custom partitioning strategy for a Thrift/ThriftMux Client. For a Java-friendly way to do the same thing, see ClientCustomStrategy.create

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClientCustomStrategy
  2. CustomPartitioningStrategy
  3. PartitioningStrategy
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. val getLogicalPartitionId: (A) ⇒ (Int) ⇒ Seq[Int]

    Permalink

    Gets the logical partition identifiers from a host identifier, host identifiers are derived from ZkMetadata shardId.

    Gets the logical partition identifiers from a host identifier, host identifiers are derived from ZkMetadata shardId. Indicates which logical partitions a physical host belongs to, multiple hosts can belong to the same partition, and one host can belong to multiple partitions, for example:

    val getLogicalPartition: Int => Seq[Int] = {
      case a if Range(0, 10).contains(a) => Seq(0, 1)
      case b if Range(10, 20).contains(b) => Seq(1)
      case c if Range(20, 30).contains(c) => Seq(2)
      case _ => throw ...
    }

    If not provided, the default is that each instance is its own partition.

  11. val getPartitionIdAndRequest: (A) ⇒ ToPartitionedMap

    Permalink

    A PartialFunction implemented by client that provides the partitioning logic on a request.

    A PartialFunction implemented by client that provides the partitioning logic on a request. It takes a Thrift object request, and returns Future Map of partition ids to sub-requests. If we don't need to fan-out, it should return one element: partition id to the original request. This PartialFunction can take multiple Thrift request types of one Thrift service (different method endpoints of one service).

  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def newNodeManager[Req, Rep](underlying: Stack[ServiceFactory[Req, Rep]], params: Params): PartitionNodeManager[Req, Rep, _, ToPartitionedMap]

    Permalink
  16. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  17. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. val observable: Activity[A]

    Permalink

    The state that is used for deciding how to reshard the cluster.

  19. val responseMergerRegistry: ResponseMergerRegistry

    Permalink

    A ResponseMergerRegistry implemented by client to supply ResponseMergers for message fan-out cases.

    A ResponseMergerRegistry implemented by client to supply ResponseMergers for message fan-out cases.

    Definition Classes
    CustomPartitioningStrategy
    See also

    ResponseMerger

  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  21. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from PartitioningStrategy

Inherited from AnyRef

Inherited from Any

Ungrouped