com.twitter.summingbird.memory

ConcurrentMemory

class ConcurrentMemory extends Platform[ConcurrentMemory] with DagOptimizer[ConcurrentMemory]

Source
ConcurrentMemory.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ConcurrentMemory
  2. DagOptimizer
  3. Platform
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ConcurrentMemory()(implicit jobID: JobId = ...)

Type Members

  1. type Buffer[k, v] = (k) ⇒ Option[v] with Sink[(k, v)]

    Definition Classes
    Platform
  2. type LitProd[T] = Literal[T, Prod]

    Definition Classes
    DagOptimizer
  3. type Plan[T] = ConcurrentMemoryPlan

    Definition Classes
    ConcurrentMemoryPlatform
  4. type Prod[T] = Producer[ConcurrentMemory, T]

    Definition Classes
    DagOptimizer
  5. type ProdCons[T] = Producer[ConcurrentMemory, Any]

  6. type Service[-K, +V] = (K) ⇒ Option[V]

    Definition Classes
    ConcurrentMemoryPlatform
  7. type Sink[T] = BlockingQueue[T]

    Definition Classes
    ConcurrentMemoryPlatform
  8. type Source[T] = TraversableOnce[T]

    Definition Classes
    ConcurrentMemoryPlatform
  9. type Store[K, V] = ConcurrentHashMap[K, V]

    Definition Classes
    ConcurrentMemoryPlatform

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. object AlsoPullUp extends Rule[Prod]

    We can always push all Also nodes all the way to the bottom of the dag MergedProducer(AlsoProducer(t, a), b) == AlsoProducer(t, MergedProducer(a, b))

  7. object DiamondToFlatMap extends PartialRule[Prod]

    (a.

  8. object FlatMapFusion extends PartialRule[Prod]

    a.

  9. object FlatThenOptionFusion extends PartialRule[Prod]

    Combine flatMaps followed by optionMap into a single operation

  10. object KeyFlatMapToFlatMap extends PartialRule[Prod]

    If you can't optimize KeyFlatMaps, use this

  11. object MergePullUp extends PartialRule[Prod]

    (a ++ b).

  12. object OptionMapFusion extends PartialRule[Prod]

    Definition Classes
    DagOptimizer
  13. object OptionToFlatMap extends PartialRule[Prod]

    If you don't care to distinguish between optionMap and flatMap, you can use this rule

  14. object RemoveIdentityKeyed extends PartialRule[Prod]

    Identity keyed producer is just a trick to make scala see methods on keyed types, they have no meaning at runtime.

  15. object RemoveNames extends PartialRule[Prod]

    Strip all the names.

  16. object ValueFlatMapToFlatMap extends PartialRule[Prod]

    If you can't optimize ValueFlatMaps, use this

  17. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  18. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def counter(group: Group, name: Name): Option[Long]

  20. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  22. def expressionDag[T](p: Producer[ConcurrentMemory, T]): (ExpressionDag[Prod], Id[T])

    Create an ExpressionDag for the given node.

    Create an ExpressionDag for the given node. This should be the final tail of the graph. You can apply optimizations on this Dag and then use the Id returned to evaluate it back to an optimized producer

    Definition Classes
    DagOptimizer
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  27. def mkAlso[T, U]: (Prod[T], Prod[U]) ⇒ Prod[U]

    This makes a potentially unsound cast.

    This makes a potentially unsound cast. Since this method is only use in converting from an AlsoProducer to a Literal[T, Prod] below, it is not actually dangerous because we always use it in a safe position.

    Attributes
    protected
    Definition Classes
    DagOptimizer
  28. def mkAlsoTail[T, U]: (Prod[T], Prod[U]) ⇒ Prod[U]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  29. def mkFlatMapped[T, U](fn: (T) ⇒ TraversableOnce[U]): (Prod[T]) ⇒ Prod[U]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  30. def mkIdentKey[K, V]: (Prod[(K, V)]) ⇒ Prod[(K, V)]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  31. def mkKeyFM[T, U, V](fn: (T) ⇒ TraversableOnce[U]): (Prod[(T, V)]) ⇒ Prod[(U, V)]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  32. def mkMerge[T]: (Prod[T], Prod[T]) ⇒ Prod[T]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  33. def mkNamed[T](name: String): (Prod[T]) ⇒ Prod[T]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  34. def mkOptMap[T, U](fn: (T) ⇒ Option[U]): (Prod[T]) ⇒ Prod[U]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  35. def mkSrv[K, T, V](serv: (K) ⇒ Option[V]): (Prod[(K, T)]) ⇒ Prod[(K, (T, Option[V]))]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  36. def mkSum[K, V](store: Store[K, V], sg: Semigroup[V]): (Prod[(K, V)]) ⇒ Prod[(K, (Option[V], V))]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  37. def mkTPNamed[T](name: String): (Prod[T]) ⇒ Prod[T]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  38. def mkValueFM[K, U, V](fn: (U) ⇒ TraversableOnce[V]): (Prod[(K, U)]) ⇒ Prod[(K, V)]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  39. def mkWritten[T, U >: T](sink: Sink[U]): (Prod[T]) ⇒ Prod[T]

    Attributes
    protected
    Definition Classes
    DagOptimizer
  40. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  43. def optimize[T](p: Producer[ConcurrentMemory, T], rule: Rule[Prod]): Producer[ConcurrentMemory, T]

    Optimize the given producer according to the rule

    Optimize the given producer according to the rule

    Definition Classes
    DagOptimizer
  44. def plan[T](prod: TailProducer[ConcurrentMemory, T]): ConcurrentMemoryPlan

    Definition Classes
    ConcurrentMemoryPlatform
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  46. def toLiteral[T](hm: HMap[Prod, LitProd], prod: Producer[ConcurrentMemory, T]): (HMap[Prod, LitProd], LitProd[T])

    Attributes
    protected
    Definition Classes
    DagOptimizer
  47. def toLiteral[T](prod: Producer[ConcurrentMemory, T]): Literal[T, Prod]

    Convert a Producer graph into a Literal in the Dag rewriter This is where the tedious work comes in.

    Convert a Producer graph into a Literal in the Dag rewriter This is where the tedious work comes in.

    Definition Classes
    DagOptimizer
  48. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from DagOptimizer[ConcurrentMemory]

Inherited from Platform[ConcurrentMemory]

Inherited from AnyRef

Inherited from Any

Ungrouped