com.twitter.storehaus.algebra

BufferingMergeable

class BufferingMergeable[K, V] extends Mergeable[K, V]

A Mergeable that sits on top of another mergeable and pre-aggregates before pushing into merge/multiMerge This is very useful for cases where you have some keys that are very hot, or you have a remote mergeable that you don't want to constantly hit.

Linear Supertypes
Mergeable[K, V], Closable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BufferingMergeable
  2. Mergeable
  3. Closable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BufferingMergeable(store: Mergeable[K, V], summerCons: SummerConstructor[K])

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def close(t: Time): Future[Unit]

    Close this store and release any resources.

    Close this store and release any resources. It is undefined what happens if you merge after close

    Definition Classes
    BufferingMergeableMergeable → Closable
  9. def close(after: Duration): Future[Unit]

    Definition Classes
    Closable
  10. final def close(): Future[Unit]

    Definition Classes
    Closable
  11. implicit val collector: FutureCollector[Any]

    Attributes
    protected
  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. def flush: Future[Unit]

  16. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

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

    Definition Classes
    Any
  19. def merge(kv: (K, V)): Future[Option[V]]

    Returns the value JUST BEFORE the merge.

    Returns the value JUST BEFORE the merge. If it is empty, it is like a zero. the key should hold: val (k,v) = kv result = get(k) key is set to: result.map(Semigroup.plus(_, Some(v)).getOrElse(v) after this.

    Definition Classes
    Mergeable
  20. def multiMerge[K1 <: K](kvs: Map[K1, V]): Map[K1, Future[Option[V]]]

    merge a set of keys.

    merge a set of keys.

    Definition Classes
    BufferingMergeableMergeable
  21. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  24. def semigroup: Semigroup[V]

    The semigroup equivalent to the merge operation of this store

    The semigroup equivalent to the merge operation of this store

    Definition Classes
    BufferingMergeableMergeable
  25. val summer: StatefulSummer[Map[K, PromiseLink[V]]]

    Attributes
    protected
  26. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  27. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Mergeable[K, V]

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped