* replace all existing Transformer with Stage (PushPullStage)
* use Flow[ByteString, ByteString] as encoder/decoder transformer in http
* use the IteratorInterpreter for strict if possible
* emit then become
* emit then finish
* termination emits
* FlowTransformerSpec
* rework types to work with Java API
* rename and move things
* add scaladoc
- Switches from using size-of-1/2 Vectors to using Lists
- Fixes an issue where processorForNode wouldn't use the dispatcher form the settings
- Adds a dedicated Collect fusion op
- Adds various simplifications to ActorBasedFlowMaterializer
- Adds FIXMEs where appropriate
- Switches `grouped` to use a VectorBuilder
- Adds support for `scan`
- ActorBasedFlowMaterializer now uses Iterator instead of head+tail decomp on Seqs
- Identity and Completed Transformers are now cached
- Adds dedicated AstNodes for all combinators
- Adds a hook-in point for fusion in `ActorBasedFlowMaterializer`
- Adds support for `Operate` an AstNode with a function that create a fusing.Op
- Adds experimental and slow optimizer as a PoC
- Adds verification that Ast.Fused does not exist in optimizer input
The completeSubstreamOutput is used to not early complete the stream,
where as invalidating would shutdown the stream too early (and elements
wouldn't be emitted as expected).
* Fold Tap/Drain into Source/Sink
* Create Source/Sink helpers to create all Sources/Sinks
* Make concrete Source/Sink implementations private[scaladsl2]
Missing features are:
+ be able to use all junctions from Java
* re-think akka.stream.javadsl.japi (because variance)
+ better docs
+ enable all tests
+ Partial flow graph as well as GraphFlow tests
+ enabled more FlowTest tests
+ fixed naming of internal classes (no Java in class names)
+ added converters for UndefinedSink/Source
The junit-interface is treating "anything it cannot understand" as a
globbing pattern, thus when it didn't understand ScalaTest options, it
used them for globbing, and of course none of our junit tests matched
the "-oDF" pattern for example.
Debugged this with Stefan and we've opened an issue to improve the
integration in this respect:
https://github.com/sbt/junit-interface/issues/60Resolves#15178