Class

com.twitter.storehaus.algebra

BufferingMergeable

Related Doc: package algebra

Permalink

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
Visibility
  1. Public
  2. All

Instance Constructors

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

    Permalink

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. def close(t: Time): Future[Unit]

    Permalink

    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
  7. def close(after: Duration): Future[Unit]

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

    Permalink
    Definition Classes
    Closable
  9. implicit val collector: FutureCollector

    Permalink
    Attributes
    protected
  10. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def flush: Future[Unit]

    Permalink
  14. final def getClass(): Class[_]

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

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

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

    Permalink

    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
  18. def multiMerge[K1 <: K](kvs: Map[K1, V]): Map[K1, Future[Option[V]]]

    Permalink

    merge a set of keys.

    merge a set of keys.

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

    Permalink
    Definition Classes
    AnyRef
  20. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  22. def semigroup: Semigroup[V]

    Permalink

    The semigroup equivalent to the merge operation of this store

    The semigroup equivalent to the merge operation of this store

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

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

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

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

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

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

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

Inherited from Mergeable[K, V]

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped