Commit graph

6 commits

Author SHA1 Message Date
Patrik Nordwall
14d3501f92 !str #15950 Add runWith and remove toX
* runWith(drainWithKey) and runWith(tapWithKey) returning the
  materialized drain/tap
* remove toPublisher, toSubscriber, and friends, in favor of using
  runWith
* MaterializedMap is the return type for both flow and graph
* Source[T] return type for Source.apply methods
2014-10-06 12:12:05 +02:00
Björn Antonsson
a6ab82f992 !str #15977 Rename and change types in the new DSL
* Cleaned up type signatures
* Changed names of Source/Sink/ProcessorFlow to Tap/Drain/Pipe
* Introduced new Source/Sink/Flow
* Made all Pipe types package private
* Changed the TypeGraph DSL to work on Flow/Sink/Source
2014-10-02 17:32:08 +02:00
Patrik Nordwall
66f86b6e9b =str #15892 Fix ClassCastException in ThunkSource
* and add test
2014-09-29 16:07:13 +02:00
Patrik Nordwall
b8c5019185 =str Sugar to make flows between vertices optional 2014-09-11 08:15:28 +02:00
Patrik Nordwall
400e49e88d =str #15735 Prototype of FlowGraph
Add documentation
2014-09-09 13:19:32 +02:00
Roland Kuhn
61b77ea50c =str #15755 #15756 rework Source/Sink materialization
The philosophy is that the FlowMaterializer has complete control over
how it interprets the AST, no restrictions. Therefore it only involves
one specified method: materialize() which returns a MaterializedFlow.
Within the ActorBasedFlowMaterializer we materialize Sources and Sinks
that implement the specified SimpleSource/SourceWithKey interfaces (same
for Sinks), others are not supported. These traits are extensible and
they require that an ActorBasedFlowMaterializer is passed into the
factory methods. Other materializers can of course interpret these AST
nodes differently, or they can use the actor-based facilities by
creating a suitable materializer for them to use.

This means that everything is fully extensible, but the infrastructure
we provide concretely for ourselves is built exactly for that and
nothing more. Overgeneralization would just lead nowhere.

Also made FutureSink isActive and implement it using a light-weight
Subscriber instead of a Flow/Transformer.
2014-09-04 14:05:51 +02:00