com.twitter.storehaus.algebra

BufferingStore

class BufferingStore[K, V] extends MergeableStore[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 store that you don't want to constantly hit. Note that calling a get/put forces a flush on this store. Also note that the Futures returned by merge are completed only when the underlying store is finally merged.

Linear Supertypes
MergeableStore[K, V], Store[K, V], ReadableStore[K, V], Closable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BufferingStore
  2. MergeableStore
  3. Store
  4. ReadableStore
  5. Closable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BufferingStore(store: MergeableStore[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(time: Time): Future[Unit]

    Definition Classes
    ReadableStore → Closable
  9. final def close(): Future[Unit]

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

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def get(k: K): Future[Option[V]]

    Definition Classes
    ReadableStore
  15. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  18. 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
    MergeableStore
  19. def multiGet[K1 <: K](ks: Set[K1]): Map[K1, Future[Option[V]]]

    Definition Classes
    BufferingStore → ReadableStore
  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
    BufferingStoreMergeableStore
  21. def multiPut[K1 <: K](kvs: Map[K1, Option[V]]): Map[K1, Future[Unit]]

    Definition Classes
    BufferingStore → Store
  22. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  25. def put(kv: (K, Option[V])): Future[Unit]

    Definition Classes
    Store
  26. 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
    BufferingStoreMergeableStore
  27. val summer: StatefulSummer[Map[K, PromiseLink[V]]]

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

    Definition Classes
    AnyRef
  29. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from MergeableStore[K, V]

Inherited from Store[K, V]

Inherited from ReadableStore[K, V]

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped