Class

com.twitter.storehaus.algebra

MergeableStoreViaSingleGetPut

Related Doc: package algebra

Permalink

class MergeableStoreViaSingleGetPut[-K, V] extends MergeableStore[K, V]

Just get, locally merge, then put. This is only safe if there is only one writer thread per key. Otherwise you need to do some locking or compare-and-swap in the store

Linear Supertypes
MergeableStore[K, V], Mergeable[K, V], Store[K, V], WritableStore[K, Option[V]], ReadableStore[K, V], Closable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MergeableStoreViaSingleGetPut
  2. MergeableStore
  3. Mergeable
  4. Store
  5. WritableStore
  6. ReadableStore
  7. Closable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MergeableStoreViaSingleGetPut(store: Store[K, V])(implicit arg0: Semigroup[V])

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

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

    Permalink
    Definition Classes
    Closable
  9. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    MergeableStoreViaSingleGetPut → ReadableStore
  13. final def getClass(): Class[_]

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

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

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

    Permalink

    sets to .plus(get(kv._1).get.getOrElse(monoid.zero), kv._2) but maybe more efficient implementations

    sets to .plus(get(kv._1).get.getOrElse(monoid.zero), kv._2) but maybe more efficient implementations

    Definition Classes
    MergeableStoreViaSingleGetPutMergeable
  17. def multiGet[K1 <: K](ks: Set[K1]): Map[K1, Future[Option[V]]]

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

    Permalink
    Definition Classes
    WritableStore
  20. final def ne(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    MergeableStoreViaSingleGetPut → WritableStore
  24. 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
    MergeableStoreViaSingleGetPutMergeable
  25. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from MergeableStore[K, V]

Inherited from Mergeable[K, V]

Inherited from Store[K, V]

Inherited from WritableStore[K, Option[V]]

Inherited from ReadableStore[K, V]

Inherited from Closable

Inherited from AnyRef

Inherited from Any

Ungrouped