Commit graph

49 commits

Author SHA1 Message Date
Konrad Malawski
96b5ca2a0a +htc add BiDiFlow.identity in JavaDSL 2016-01-20 00:50:39 +01:00
Roland Kuhn
ec18320d5a Merge pull request #19509 from akka/wip-misc-streams-thingies-√
Minor streams touchups
2016-01-19 17:01:52 +01:00
Viktor Klang
58510a2b3f Minor streams touchups 2016-01-19 16:14:34 +01:00
israel
c15f4d15f4 +str #19176 Added Partition Graph Stage with tests 2016-01-19 15:24:54 +02:00
Martynas Mickevičius
edc119dd6f #19271 Eager pull for Concat and Interleave 2016-01-15 08:44:27 +02:00
Martynas Mickevičius
02a933bd87 #19271 Eager Zip and Merge Preferred 2016-01-14 09:56:11 +02:00
Roland Kuhn
72eb3f539d Merge pull request #19396 from akka/wip-18948-eagerComplete-RK
#18948 add eagerComplete parameter to FlowOps.merge
2016-01-11 15:42:59 +01:00
Roland Ferenczy
144875a665 #18948 add eagerComplete parameter to FlowOps.merge 2016-01-11 10:58:01 +01:00
Roland Kuhn
ec3858e893 make FlowOps(Mat).Repr(Mat) safe and precise 2016-01-05 11:58:15 +01:00
Roland Kuhn
8a5a420108 #19261 override and test addAttributes compilation 2015-12-22 20:56:02 +01:00
Endre Sándor Varga
b478d70964 !str #19137: Rename inlet and outlet to in and out on Flow/Source/SinkShape 2015-12-15 16:49:52 +01:00
Roland Kuhn
a20bbce433 add fusing 2015-12-15 09:24:52 +01:00
Roland Kuhn
ac83b1965c #18962 MergeSorted and read() completion handling 2015-12-14 12:21:30 +01:00
Alexander Golubev
dace84c91b +str #19041 deterministic interleave operation 2015-12-13 23:22:23 -05:00
Alexander Golubev
fe3c34ed00 +str #19041 deterministic interleave operation 2015-12-10 21:46:48 -05:00
Alexander Golubev
737e7b8dfc +str #19041 deterministic interleave operation 2015-12-10 21:46:47 -05:00
Roland Kuhn
15cc65ce9d Merge pull request #19006 from akka/wip-stream-of-streams-RK
groupBy shall emit SubFlow
2015-12-10 14:35:21 +01:00
Roland Kuhn
1500d1f36d !str #19005 make groupBy et al return a SubFlow
A SubFlow (or SubSource) is not a Graph, it is an unfinished builder
that accepts transformations. This allows us to capture the substreams’
transformations before materializing the flow, which will be very
helpful in fully fusing all operators.

Another change is that groupBy now requires a maxSubstreams parameter in
order to bound its resource usage. In exchange the matching merge can be
unbounded. This trades silent deadlock for explicit stream failure.

This commit also changes all uses of Predef.identity to use `conforms`
and removes the HTTP impl.util.identityFunc.
2015-12-10 12:27:16 +01:00
Viktor Klang
38fa306fbc =str - Adds finals and reorganizes some StreamOfStreams code 2015-12-09 18:30:47 +01:00
Viktor Klang
7cbc916b4c !str - 19028 - Adds requirements for minimum ports
Broadcast == min output ports: 2
Merge == min input ports: 2
MergePreferred == min secondary ports: 1
Concat == min input ports: 2
2015-12-07 14:41:27 +01:00
Roland Kuhn
f00da4daac !str #19037 rename FlowGraph to GraphDSL 2015-12-01 18:30:07 +01:00
Roland Kuhn
556012b7ee !str,htc replace and remove OneBoundedInterpreter
main work by @drewhk with contributions from @2m and @rkuhn

This work uncovered many well-hidden bugs in existing Stages, in
particular StatefulStage. These were hidden by the behavior of
OneBoundedInterpreter that normally behaves more orderly than it
guarantees in general, especially with respect to the timeliness of
delivery of upstream termination signals; the bugs were then that
internal state was not flushed when onComplete arrived “too early”.
2015-11-01 14:53:52 +01:00
Roland Kuhn
0c78cca7ed !str #18674 remove FlowGraph.Builder.add(Sink|Source) 2015-10-26 12:31:17 +01:00
Viktor Klang
f29d7affbd !str #18692 javadsl.FlowGraph.Builder.add()
* also make factories more consistent by only offering
  FlowGraph.create()
* also remove secondary (edge-based) FlowGraph.Builder DSL
* also improve naming for conversions from Graph to
  Source/Flow/BidiFlow/Sink
2015-10-22 19:10:00 +02:00
Roland Kuhn
02810cfa64 !str,htc remove FlexiMerge/Route
- replace all occurrences with equivalent GraphStage implementations

This commit introduces a mini-DSL for GraphStage that allows emitting or
reading multiple elements to/from a port with one statement, installing
stateful handlers on the port to make it work. The emitting side allows
stacked continuations, meaning that while an emit() is ongoing (waiting
for demand) another one can be added to the queue; this allows
convenient formualation of merge-type stages.
2015-10-21 18:52:16 +02:00
Roland Kuhn
dc07fd250c !str make Inlet/Outlet invariant and add Java variance
This necessitates the removal of method overloading in the Java Graph
DSL: the to() and via() methods were not otherwise resolved correctly by
javac, leading to incomprehensible error messages. The new approach is
to offer just one way of doing things which is a bit more verbose but
should be easier to read and learn. In this vein auto-importing while
using the DSL is also gone for Java—not sure about Scala yet.
2015-10-21 17:48:54 +02:00
Endre Sándor Varga
f4b614a186 =str: Optmizing GraphInterpreter 2015-10-01 16:16:42 +02:00
Endre Sándor Varga
26680c3477 +str: fusable fan-in and fan-out ops 2015-10-01 14:41:33 +02:00
Endre Sándor Varga
12c9abb8c9 !str #16410 #16597: Removed TimerTransform, added Timeout stages 2015-09-18 12:38:36 +02:00
Alexander Golubev
50de39e886 +str #16965 add generalized UnzipWith 2015-07-15 10:58:45 +02:00
Viktor Klang
66a116d3d2 -str - Improvements and renames in internal streams classes
* Renames Module.grow -> Module.compose
 * Renames Module.connect -> Module.wire
 * Renames Module.growConnect -> Module.fuse
 * Renames Module.wrap -> Module.nest

 * Adds explicit identity equals and hashCode to InPort and OutPort

 * Reimplements many of the Source factories to avoid copying

 * Documents Module.compose, Module.fuse, Module.wire and Module.nest

 * Removes Attributes.nameLifted

 * Optimizes Attributes.nameOrDefault
2015-07-13 23:39:45 +02:00
Viktor Klang
2725bfc044 =str - Various internal Akka Stream improvements
* Gives Inlets and Outlets a `carbonCopy` method and switches to allocate them via `apply`
* Removes 4 Array allocations per FanIn and uses a bitmasked array instead
* Makes the FlattenStrategy.concat instance a singleton
2015-06-30 11:45:50 +02:00
Endre Sándor Varga
df35562c0b Make broadcast cancellation configurable 2015-06-24 14:44:07 +02:00
Endre Sándor Varga
c7a974dd1e Rename RunnableFlow to RunnableGraph 2015-06-23 18:49:53 +02:00
Endre Sándor Varga
dc7269e620 Rename OperationAttributes to Attributes 2015-06-23 18:45:04 +02:00
Martynas Mickevičius
2e32e3a744 =str #16997 added variance annotation to UniformFanInShape 2015-06-02 14:47:22 +03:00
Endre Sándor Varga
7ad4fdc3ce !str #17123: Make materialized value handling method names consistent 2015-05-05 12:42:41 +02:00
Endre Sándor Varga
d73f78dcbf +str #17254: Accept graphs instead of Flow/Source/Sink etc. 2015-04-24 13:14:00 +02:00
Endre Sándor Varga
e82b89e285 +doc, str #16716: Table summarizing built-in processing stages 2015-04-24 11:29:23 +02:00
Endre Sándor Varga
82a7f13a02 =str 16940: Implement shallow copy of layouts 2015-04-23 18:00:01 +02:00
Patrik Nordwall
c6404d3e44 !str #17189 Add withAttributes and named to Graph
* Remove optional attributes parameter in favor of withAttributes
* Overload explosion when trying to add attributes to ZipWith.
* Aligned with Flow and Source.
2015-04-17 11:31:32 +02:00
Martynas Mickevičius
da5fde03c7 Merge pull request #17142 from 2m/wip-minor-typo-fixes
=str minor typo fixes and scala version bump
2015-04-14 16:53:39 +03:00
Martynas Mickevičius
57e5976996 =str minor typo fixes and scala version bump 2015-04-13 20:10:59 +03:00
Mathias
85c0571620 !str #17039 change default materialization placeholder type from Unit to Any 2015-04-10 15:10:42 +02:00
Patrik Nordwall
666bfade1e !str #16993 Separate scaladsl/javadsl for FlattenStategy
`abstract class FlattenStrategy` was used in both javadsl and scaladsl, but the concrete concat
for the javadsl was in javadsl.FlattenStrategy and the concrete concat for the scaladsl is in
stream.FlattenStrategy.

Now there are separate FlattenStategy in scaladsl and javadsl packages and conversion
as we have in other places.

* replace JavaConverters with explicit methods

* remove asJava/asScala for FlattenStrategy
2015-04-10 08:05:24 +02:00
Endre Sándor Varga
a7af773e2c !str #16168: Expose materialized value in the graph as a "source" 2015-04-07 12:51:18 +02:00
Roland Kuhn
157629f8af !str #16416,#16994 BidiFlow DSL and Flow.join Mat
- add BidiFlow, with atop and join combinators
- add Flow.join(BidiFlow)
- correct Flow.join’s default materialized value selection to Keep.left
2015-03-24 11:10:14 +01:00
Roland Kuhn
703fb7891b add Java graph DSL 2015-02-26 23:41:35 +01:00
Endre Sándor Varga
8d77fa8b29 !str #16902: Unify stream internal representation
also =str #16912: Fix StreamTcpSpec flakiness
2015-02-26 10:06:56 +01:00