Commit graph

56 commits

Author SHA1 Message Date
Björn Antonsson
c66ce62d63 Update to a working version of Scalariform 2016-06-02 22:12:36 +02:00
Roland Kuhn
45e97e8467 remove akka.stream.testkit.AkkaSpec, fixes #19879 2016-02-25 15:26:51 +01:00
Johannes Rudolph
b6cbc7f13a =all remove unused imports 2016-02-23 20:29:22 +01:00
Johan Andrén
62e30b3c08 Update copyrights and links to the new company name #19851 2016-02-23 12:58:39 +01:00
drewhk
ebb915ae4d Merge pull request #19750 from lolski/lolski-issue-19293-rebased
=str #19293 fix issues in Sink.seq + minor doc fixes + use Sink.seq
2016-02-12 11:36:56 +01:00
lolski
21381d5710 =str #19293 fix issues in Sink.seq + minor doc fixes + use Sink.seq and limit in tests where appropriate
* Sink.seq (Scala DSL) now returns immutable.Seq rather than Seq
* Sink.seq will not silently truncate when incoming elements is > Int.MAX_VALUE
* minor doc fixes
* replacing various grouped(n) / Sink.head with limit(n) / Sink.seq in various tests
* fix inconsistent indentation in RequestParserSpec
2016-02-12 01:36:21 +08:00
Johan Andrén
4e49d75ad8 !str #19732 Concise and consistent way to mark async boundaries 2016-02-11 18:20:23 +01:00
Alois Cochard
6c69fba61e 19452: Contramap and fromFunction 2016-02-11 15:32:48 +01:00
Prayag Verma
b7783968a0 =pro #19068 All copyrights ranges and single years updated to a range ending in 2016 2016-01-25 10:20:30 +01:00
Endre Sándor Varga
60497f6561 also fix FlowInterleaveSpec
Also-by: Johan Andrén <johan@markatta.com>
Also-by: Roland Kuhn <rk@rkuhn.info>
Also-by: Martynas Mickevičius <mmartynas@gmail.com>
2016-01-20 10:01:58 +02:00
Roland Kuhn
8a5a420108 #19261 override and test addAttributes compilation 2015-12-22 20:56:02 +01:00
Roland Kuhn
5041d3825d Merge pull request #19203 from akka/wip-19197-fusing-substreams-RK
Wip 19197 fusing substreams rk
2015-12-17 13:36:50 +01:00
Roland Kuhn
af99b1eae8 #19197 implement SubFusingActorMaterializer
and use it in FlattenMerge
2015-12-17 13:35:37 +01:00
Martynas Mickevičius
e6e476d82a =str #19128 #19127 rename Source/Sink factory apply overloads 2015-12-17 11:48:30 +02: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
Viktor Klang
33a9257a3b =str&http - 19142 - Renames all occurrences of mat with materializer
(When referring to a Materializer)
2015-12-11 14:45:24 +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
6cfa4df800 !str - Switches Sink.publisher to use a boolean to indicate fanout rather than a number of allowed subscribers 2015-11-04 12:29:23 +01:00
Viktor Klang
f839a1f85d !str - 18808 - Removes Sink.fanoutPublisher and makes Sink.publisher specify number of subscribers
Sink.publisher now takes a max number of Subscribers and
the elasticity between concurrent Subscribers.
2015-11-04 12:29: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
Alexander Golubev
993e545e99 +str #18411 add FlowOps.zip/zipWith/merge/concat operators 2015-10-03 14:28:57 -04:00
kukido
f858881b2e =doc #17329 Spelling normalization, typos fixed. 2015-09-28 22:45:38 -07:00
Alexander Golubev
0d1861cd2f +str #18072 fix concat with empty source 2015-09-12 17:08:20 -04:00
André Rüdiger
6af9ced35c =str: various minor cleanups 2015-08-18 11:36:24 +02:00
luben karavelov
7eff38a200 =str fix ambigous import of akka(-stream).testkit.AkkaSpec 2015-07-16 15:11:21 +01:00
Endre Sándor Varga
47ea3fde38 created factory method 2015-07-09 18:01:45 +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
Endre Sándor Varga
f4c83771bb !str #17393: Make stream-tests pass with serialize-messages=on 2015-06-02 12:32:27 +02:00
Endre Sándor Varga
3124fc3018 !str #17465: Don't create expensive exceptions for abrupt termination 2015-05-21 13:03:06 +02:00
Endre Sándor Varga
e0d078c676 !str #17355: Don't use case classes for settings 2015-05-07 15:33:35 +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
Martynas Mickevičius
8e2cc3e70f =str #17089 stream testkit 2015-04-24 12:25:54 +03:00
Patrik Nordwall
f930bcdda8 =str #15191 Verify that stage actors are stopped
* found one bug of too early actor stop and thereby missing cancel of upstream,
  in fan-in tests ""work with one immediately failed and one nonempty publisher"
2015-04-23 20:00:12 +02:00
Roland Kuhn
4c623fade7 !str #17090 add AsyncStage 2015-04-10 09:00:36 +02:00
Endre Sándor Varga
5559c34ca9 =str #16924: Fix FanoutProcessor to not overwrite last termination cause
Also fix FlowSpec to expect onError instead of onComplete for late subscribers
2015-03-27 14:53:04 +01:00
Patrik Nordwall
3dc4e6d077 !str #16992 Rework Source and Sink name parameter
* Remove name parameter (no overloads), naming is performed using `.withAttributes` or the new
  convenience `.named`. Those adds the OperationAttribute.Name and also change the name of the
  shape Inlet and Outlet.

* Remove Source/Sink parameter list for 0 parameter methods,
  this allows usage of `Sink.head` instead of `Sink.head()`
2015-03-06 09:24:00 +01: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
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
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
Patrik Nordwall
cd9d503b03 !str #15851 Rename FlowMaterializer and settings
* FlowMaterializer is now the actor independent interface
* ActorFlowMaterializer is the actor based interface
* MaterializerSettings renamed to ActorFlowMaterializerSettings
* impl.ActorBasedFlowMaterializer renamed to impl.ActorFlowMaterializerImpl
* Optimizations included in ActorFlowMaterializerSettings
* Note that http is using FlowMaterializer in api, but I suspect that it
  will currently only run with a ActorFlowMaterializer
2015-01-27 19:22:22 +01:00
Patrik Nordwall
601b67c8e7 !str #16455 Remove unused fanout settings 2014-12-16 15:07:41 +01:00
Martynas Mickevicius
64feb041be =str #15152 operation transformations 2014-12-01 20:07:55 +02:00
Björn Antonsson
672d4ed091 +str,htc #16071, #16072 New Stream Tcp and Http API
* StreamTcp and Http extensions now return Flows and Sources that can be materialized later
* Flow can now be completed with another flow to be turned into a runnable flow
2014-11-28 10:41:57 +01:00
Patrik Nordwall
a82f266367 !str #15236 Replace Transformer with Stage
* 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
2014-11-21 11:41:34 +01:00
Viktor Klang
14afce31ef +str - Renames SynchronousPublisherFromIterable to SynchronousIterablePublisher
Introduces an Actor-based IterablePublisher
       Gives names to most of the publishers
2014-11-18 19:48:26 +01:00
Viktor Klang
db4e5c4a29 =str - Various Flow and FlowMaterializer improvements
- 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
2014-11-17 17:45:48 +01:00
Viktor Klang
efe9331b69 Revert "=str #16280 Make flows sharable again" since the problem is solved differently in this branch.
This reverts commit 2af568eb7a0c8d65f3dd2bb04852d05d5cbda416.
2014-11-17 16:09:22 +01:00
Patrik Nordwall
22ec9349b5 =str #16280 Make flows sharable again
* Operation hold state and new instance for each materialization
  is needed
2014-11-11 14:37:19 +01:00