Commit graph

58 commits

Author SHA1 Message Date
Gilad Hoch
7e488001cc +str #16610 minor fixes 2016-01-21 09:02:35 +02:00
Gilad Hoch
fde0c11fff +str #16610 added javadsl tests + conflate now delegates to Batch + most of the changes @drewhk & @rkuhn suggested 2016-01-21 08:44:31 +02:00
Gilad Hoch
b420d6a472 +str #16610 applied the changes suggested by @drewhk 2016-01-21 08:44:30 +02:00
Gilad Hoch
d690067fc9 +str #16610 adding aggregate & aggregateWeighted ops 2016-01-21 08:44:30 +02:00
Roland Kuhn
7463c50fc9 #19444 simplify signature of FlowOps.expand
Any previous usage can be represented in this fashion while typically
saving one function allocation and also saving the function literal’s
syntax overhead (for the seed). Plus a new feature: the provided
iterator does not have to be infinite, limiting how far expand is
allowed to go.
2016-01-20 09:27:45 +01:00
Konrad Malawski
96b5ca2a0a +htc add BiDiFlow.identity in JavaDSL 2016-01-20 00:50:39 +01:00
Viktor Klang
58510a2b3f Minor streams touchups 2016-01-19 16:14:34 +01:00
Roland Kuhn
469e15581f fusable SplitWhen and reusable HTTP blueprint
plus further optimizations

Lots of contributions from drewhk (Endre Varga).
2015-12-21 12:28:21 +01:00
lolski
aadaf15b89 #18021 Sink.seq and FlowOps.limit and .limitWeighted 2015-12-20 11:00:06 +01:00
Roland Kuhn
a20bbce433 add fusing 2015-12-15 09:24:52 +01:00
Roland Kuhn
1c18eafcbe Merge pull request #19153 from akka/wip-19149-fix-flowOps-sliding-√
=str - 19149 - Corrects the behavior of FlowOps.sliding
2015-12-13 16:45:59 +01:00
Viktor Klang
108f6749de =str - 19149 - Corrects the behavior of FlowOps.sliding
Generatively attempts to verify that it behaves exactly like the
collections library

Removes the use of Vector.builder for an easier-to-follow Vector
implementation while waiting for this to be reimplemented as a
GraphStage.

Also, the Builder implementation relies on undefined behavior:

"Builder.result() — Produces a collection from the added elements.
The builder's contents are undefined after this operation." -
http://www.scala-lang.org/api/current/#scala.collection.mutable.Builder
2015-12-12 20:20:16 +01:00
Roland Kuhn
8e62368afe Merge branch 'release-2.3-dev' of github.com:akka/akka into release-2.3-dev 2015-12-12 16:59:53 +01:00
Roland Kuhn
819c1ef504 Merge remote-tracking branch 'pr/18985' into release-2.3-dev 2015-12-12 16:59:05 +01:00
lolski
3152a6d15f fixed typo call to emitMultiple 2015-12-09 01:26:42 +08:00
lolski
fca478c763 code restructure to enhance readability 2015-12-09 01:21:59 +08:00
lolski
e253593535 working GraphStage-based intersperse implementation 2015-12-09 01:21:59 +08:00
lolski
0d04d3bf5c WIP - Base intersperse on GraphStage instead of StatefulStage. TODO: handle logic to add last element 2015-12-09 01:21:59 +08:00
Viktor Klang
8b0b63625e =str - 19082 - Moves the allow var into the Logic of DropWithin 2015-12-07 12:41:38 +01:00
Alexander Golubev
5aa83594fa +str #18556 add delay combinator 2015-12-02 14:58:30 -05:00
Alexander Golubev
d5cae10a67 +str #18556 add delay combinator 2015-11-27 15:46:35 -05:00
Alexander Golubev
83d3143236 +str #18556 add delay combinator 2015-11-26 15:58:38 -05:00
Alexander Golubev
270ef41359 =str #18556 add delay combinator 2015-11-21 13:48:10 -05:00
Alexander Golubev
7a78160c26 =str #18037 FlowOps.log exception handler does not follow supervision strategy 2015-11-02 09:37:39 -05: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
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
Konrad Malawski
61c2213e02 +str #17383 implement intersperse 2015-10-19 13:17:23 +02:00
Endre Sándor Varga
f4b614a186 =str: Optmizing GraphInterpreter 2015-10-01 16:16:42 +02:00
Endre Sándor Varga
12c9abb8c9 !str #16410 #16597: Removed TimerTransform, added Timeout stages 2015-09-18 12:38:36 +02:00
Endre Sándor Varga
071f3c183f =str #18091: Take should eagerly complete if arguments are zero or less 2015-09-02 13:23:32 +02:00
André Rüdiger
6af9ced35c =str: various minor cleanups 2015-08-18 11:36:24 +02:00
Philipp
ac007efc0d +str: Sliding window operation 2015-08-14 17:00:30 +02:00
Alexander Golubev
630343e483 +str #16394 recover operation 2015-07-15 10:34:56 +02:00
Viktor Klang
36abbb4234 Introduces fold as a Flow transformation and generalizes Sink.fold to be Flow.fold + Sink.head
Conflicts:
	akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala
	akka-stream/src/main/scala/akka/stream/impl/Stages.scala
	akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala
2015-06-30 10:17:52 +02:00
Endre Sándor Varga
7879a5521b Rename FlowMaterializer to Materializer 2015-06-23 18:47:28 +02:00
Endre Sándor Varga
dc7269e620 Rename OperationAttributes to Attributes 2015-06-23 18:45:04 +02:00
Alexander Golubev
6f9438a2b0 +str #17226 add dropWhile and takeWhile 2015-06-16 17:55:50 -04:00
Martynas Mickevičius
e863a9c703 =str #17167 drop new overflow strategy 2015-06-01 18:08:13 +03:00
Konrad Malawski
778e6ce3d2 +str #17298 include stream supervisor in log() source 2015-05-28 15:36:49 +02:00
Endre Sándor Varga
30e4a57ee0 +str #17464: mapConcat accepts immutable.Iterable 2015-05-21 14:28:09 +02:00
Konrad Malawski
b0b6c9e98a preStart is now more type-safe, allows AsyncStage to provide it's Async context 2015-05-11 13:16:37 +02:00
Konrad Malawski
9607ec0cdf +str #17290 Adds preStart / postStop to AbstractStage
+ AsyncStage now uses preStart
+ Log stage now uses preStart (better perf), can be optimised more
2015-05-11 12:57:41 +02:00
Endre Sándor Varga
7f6a67a5c0 =str #17407: MapAsync should pull when failed futures free up space 2015-05-07 15:05:29 +02:00
Konrad Malawski
f2b757df51 +str #17162 add log() stage for simple logging in Flows
+ with javadsl
+ allows configuring log levels
+ allows turning off logging of certain actions completely
+ cookbook adjusted to show this instead of manual PushStage
- PENDING: preStart based impl will be faster, coming soon
2015-04-24 15:37:39 +02:00
Roland Kuhn
616838a738 +str #15833 TLS with session renegotiation 2015-04-23 15:53:52 +02:00
Patrik Nordwall
c63b9c801a =str #16699 fix some FIXMEs 2015-04-23 14:36:53 +02:00
Roland Kuhn
7681c557f7 =str #17191 mapAsyncUnordered shall terminate after resume 2015-04-14 12:41:34 +02:00
Roland Kuhn
4c623fade7 !str #17090 add AsyncStage 2015-04-10 09:00:36 +02:00
Patrik Nordwall
23c533fdd5 =str #16751 Update to reactive-streams 1.0-RC3
Changed rules:
* 1.9 Always onSubscribe prior to any other signals
* 1.9 NullPointerException if subscriber is null
* 3.17 Long overflow, effectively unbounded instead of onError

Fixed some more things:
* fixed some FIXME
* Long drop and take
* memory leaks in tck tests, use BeforeClass to create ActorSystem
  use AfterClass to shutdown ActorSystem
* more tck tests
* don't emit OnComplete when substream is cancelled
* work around for memory leak in PrefixAndTail
2015-03-05 17:58:24 +01:00
Patrik Nordwall
693dcbefcc +str #15750 Prototype of stream supervision
* add supervion for stages and built in ops run by interpreter
* add supervision for mapAsync and mapAsyncUnordered
* add supervision to groupBy and splitWhen
* reference doc for scala and java
2015-02-20 15:44:01 +01:00