com.twitter.storehaus

algebra

package algebra

Visibility
  1. Public
  2. All

Type Members

  1. class AlgebraicMutableCache[K, V] extends AnyRef

  2. class AlgebraicReadableStore[K, V] extends AnyRef

  3. class AlgebraicStore[K, V] extends AnyRef

  4. 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.

  5. class BufferingStore[K, V] extends BufferingMergeable[K, V] with MergeableStore[K, V]

    A MergeableStore that does the same buffering as BufferingMergeable, but flushes on put/get.

  6. class ConvertedMergeableStore[K1, -K2, V1, V2] extends storehaus.ConvertedStore[K1, K2, V1, V2] with MergeableStore[K2, V2]

    Caveat Emptor! The semigroup on the resulting ConvertedMergeableStore will be the bijected semigroup from Semigroup[V1] => Semigroup[V2].

  7. class EnrichedMergeableStore[K, V] extends AnyRef

    Enrichment on the com.twitter.storehaus.algebra.MergeableStore trait.

  8. case class ExpiredException[K, V](pair: (K, V)) extends RuntimeException with Product with Serializable

    Injection that maps values paired with stale values of T => None on inversion.

  9. trait Mergeable[-K, V] extends Closable

    Main trait to represent objects that are used for aggregation

  10. class MergeableJMapLongStore[K] extends MergeableJMapStore[K, Long]

    MergeableStore instance that is backed by a ConcurrentHashMap This class is thread safe with a locking merge operation and thread safe put/get operations provided by the underlying ConcurrentHashMap There is no multi operation optimization so all multi operations use the default Store implementation.

  11. class MergeableJMapStore[K, V] extends MergeableStore[K, V]

  12. class MergeableMonoidStore[-K, V] extends MergeableStoreViaGetPut[K, V]

    Uses the monoid and filters zeros on put.

  13. trait MergeableProxy[K, V] extends Mergeable[K, V] with Proxied[Mergeable[K, V]]

    Proxy for Mergeables.

  14. trait MergeableStore[-K, V] extends Store[K, V] with Mergeable[K, V]

    Main trait to represent stores that are used for aggregation

  15. trait MergeableStoreProxy[K, V] extends MergeableStore[K, V] with Proxied[MergeableStore[K, V]]

    Proxy for MergeableStoress.

  16. class MergeableStoreViaGetPut[-K, V] extends MergeableStoreViaSingleGetPut[K, V]

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

    Just get, locally merge, then put.

  18. case class PromiseLink[V](promise: Promise[Option[V]], value: V) extends Product with Serializable

    This class allows code to depends on the data that a value will be combined with, fulfilling the Promise with the value just before the value is added in.

  19. class PromiseLinkMonoid[V] extends PromiseLinkSemigroup[V] with Monoid[PromiseLink[V]]

    TODO: REMOVE WHEN NEXT VERSION OF ALGEBIRD IS PUBLISHED https://github.

  20. class PromiseLinkSemigroup[V] extends Semigroup[PromiseLink[V]]

  21. class ReadableStoreMonoid[K, V] extends ReadableStoreSemigroup[K, V] with Monoid[ReadableStore[K, V]]

    Same as a ReadableStoreSemigroup except with a zero that the constant store always returning Monoid.

  22. class ReadableStoreSemigroup[K, V] extends Semigroup[ReadableStore[K, V]]

    A semigroup that uses the future semigroup to add results of both gets

  23. trait SummerConstructor[K] extends AnyRef

    For any given V, construct a StatefulSummer of Map[K, V]

  24. class TTLInjection[K, T, V] extends Injection[(K, V), (K, (T, V))]

  25. class UnpivotedMergeableStore[-K, OuterK, InnerK, V] extends UnpivotedStore[K, OuterK, InnerK, V] with MergeableStore[K, V]

    MergeableStore enrichment which presents a MergeableStore[K, V] over top of a packed MergeableStore[OuterK, Map[InnerK, V]].

  26. class ConvertedStore[K1, -K2, V1, V2] extends ConvertedReadableStore[K1, K2, V1, V2] with Store[K2, V2]

    Use an injection on V2,V1 to convert a store of values V2.

Value Members

  1. object Algebras

    import Algebras.

  2. object HHFilteredStore

  3. object MergeableStore

    Some factory methods and combinators on MergeableStore

  4. object MutableCacheAlgebra

    Enrichments and modifications to instances of MutableCache.

  5. object PromiseLink extends Serializable

  6. object ReadableStoreAlgebra

    Enrichments on ReadableStore.

  7. object StoreAlgebra

    Algebraic Enrichments on Store.

  8. package query

  9. package reporting

Ungrouped