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], Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BufferingStore
  2. MergeableStore
  3. Store
  4. ReadableStore
  5. Closeable
  6. AutoCloseable
  7. AnyRef
  8. 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: (Monoid[V]) ⇒ StatefulSummer[Map[K, V]])

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(): Unit

    Definition Classes
    ReadableStore → Closeable → AutoCloseable
  9. implicit val collector: FutureCollector[(Any, Unit)]

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

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  13. def flush(implicit collect: FutureCollector[(Any, Unit)]): Future[Unit]

  14. def get(k: K): Future[Option[V]]

    Definition Classes
    BufferingStore → 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(pair: (K, V)): Future[Unit]

    the key should hold: Monoid.

    the key should hold: Monoid.plus(get(kv._1).get, Some(kv._2)) after this.

    Definition Classes
    BufferingStoreMergeableStore
  19. def mergeAndFulfill[K1 <: K](m: Map[K1, V]): Map[K1, Future[Unit]]

    Attributes
    protected
  20. val monoid: Monoid[V]

    The monoid equivalent to the merge operation of this store

    The monoid equivalent to the merge operation of this store

    Definition Classes
    BufferingStoreMergeableStore
  21. def multiFulfill[K1 <: K](m: Map[K1, Future[Unit]]): Map[K1, Future[Unit]]

    Attributes
    protected
  22. def multiGet[K1 <: K](ks: Set[K1]): Map[K1, Future[Option[V]]]

    Definition Classes
    BufferingStore → ReadableStore
  23. def multiMerge[K1 <: K](kvs: Map[K1, V]): Map[K1, Future[Unit]]

    merge a set of keys.

    merge a set of keys.

    Definition Classes
    BufferingStoreMergeableStore
  24. def multiPromise[K1 <: K](ks: Set[K1]): Map[K1, Promise[Unit]]

    Attributes
    protected
  25. def multiPut[K1 <: K](kvs: Map[K1, Option[V]]): Map[K1, Future[Unit]]

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

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

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

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

    Definition Classes
    BufferingStore → Store
  30. val summer: StatefulSummer[Map[K, V]]

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

    Definition Classes
    AnyRef
  32. def toString(): String

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()
  35. 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 Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped