Commit graph

71 commits

Author SHA1 Message Date
Roland Kuhn
6fa6e39c22 #19326 do not call TestKit.remaining for Akka 2.4 compatibility 2016-01-13 16:39:52 +01:00
Konrad Malawski
86504ec4e2 =str #19377 improve expectNext() error reporting (if no element signaled) 2016-01-13 16:39:46 +01:00
Konrad Malawski
f6147972d7 +pro add Akka Streams HTTP to master build
> merged akka-bench-jmh-dev with akka-bench-jmh
> renamed akka-stream-tck to more correctly named akka-stream-tests-tck
> merged java8 tests with normal tests in http
2016-01-13 01:25:04 +01:00
Konrad Malawski
59a079d1f2 Merge pull request #19219 from ktoso/wip-sslconfig-ktoso
Apply ssl-config and include hostname validation
2015-12-21 14:41:40 +01:00
Konrad Malawski
8cf86e693c =htp #19184 better TLS defaults and hostname verification
+ depends on com.typesafe.ssl-config which we'll need to release
+ also makes tests compile on JDK6, to enable testing this on JDK6
2015-12-21 13:20:24 +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
Roland Kuhn
b0b03176ae #19238 add detach operator and fix Detach stage 2015-12-20 11:25:53 +01:00
Martynas Mickevičius
e6e476d82a =str #19128 #19127 rename Source/Sink factory apply overloads 2015-12-17 11:48:30 +02:00
Roland Kuhn
27353d4952 Merge remote-tracking branch 'pr/19150' into release-2.3-dev 2015-12-13 16:55:39 +01:00
Roland Kuhn
819c1ef504 Merge remote-tracking branch 'pr/18985' into release-2.3-dev 2015-12-12 16:59:05 +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
Roland Kuhn
f00da4daac !str #19037 rename FlowGraph to GraphDSL 2015-12-01 18:30:07 +01:00
Konrad Malawski
7afb750380 =str make StageActorRef "single" and watchable, fix some tests 2015-11-30 13:39:35 +01:00
Endre Sándor Varga
18843de175 =str: Make TCP fusable (first attempts) 2015-11-30 13:38:32 +01: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
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
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
Johannes Rudolph
3193eb8009 +stk add TestSubscriber/Publisher.Probe.ensureSubscription to allow manual initialization
Otherwise, it is not possible to use `expectNoMsg()` as the first operation.
2015-10-09 13:00:26 +02:00
Alexander Golubev
993e545e99 +str #18411 add FlowOps.zip/zipWith/merge/concat operators 2015-10-03 14:28:57 -04:00
Konrad Malawski
96da6ad4bb Merge pull request #18584 from kukido/kukido-17329-harmonize-spelling
=doc #17329 Spelling normalization, typos fixed.
2015-09-30 15:30:12 +02:00
Alexander Golubev
e51b2e4aeb +str #18111 SubscriberEvent in stream-testkit is not visible 2015-09-29 10:09:13 -04:00
Konrad Malawski
f416e89edb =str fix double-dilation in StreamTestKit 2015-09-29 10:26:18 +02:00
kukido
f858881b2e =doc #17329 Spelling normalization, typos fixed. 2015-09-28 22:45:38 -07:00
Konrad Malawski
880d51b89b Merge pull request #18503 from ktoso/wip-improvements-streamtestkit-ktoso
+str #18501 improvements and fixes in StreamTestKit (adds toStrict)
2015-09-28 19:29:17 +02:00
Konrad Malawski
dcfbaed206 =str #18501 make TestSink.probe consistent in style with Sink.head
Also known as, we do not use () for those
2015-09-28 18:44:54 +02:00
Konrad Malawski
ab96ebfca0 +str #18501 improvements and fixes in StreamTestKit (adds toStrict) 2015-09-25 17:19:00 +02:00
Roland Kuhn
68ba0643d6 =str,htp clean up build warnings
- explicitly provide Unit values and place parens around tuple creation
- remove structural type usage in TestUtils
- fix Java double-casts
- use unused Java values by asserting their non-nullness
- work around inability to place case class in trait (scripted test)

The remaining warnings about using private types in public methods are
bogus as reported in https://issues.scala-lang.org/browse/SI-9490.
2015-09-25 15:20:23 +02:00
Johannes Rudolph
51f1d36852 +stk add missing TestSubscriber.requestNext() method 2015-08-26 13:39:20 +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
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
Roland Kuhn
097a10edfc fix FlowStageSpec (and some boyscouting) 2015-06-19 16:26:53 +02:00
Roland Kuhn
d462cdd1b4 =str fix sub-upstream cancellation in concatAll
- ActorProcessor terminated eagerly when ConcatAll had just taken up a
  new input stream but not yet received onSubscribe for it

- The ActorProcessor eagerly shuts itself down upon onError and that
  cannot be changed without completely reworking the Pump, so I opted
  for just tracking the outstanding substreamSubscribers that have not
  yet seen OnSubscribe and making them cancel properly when that arrives
  (possibly later).
2015-06-19 16:26:48 +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
8a7f6a357d =str #17453: Fix substream RS compliance, awaitAllStagesStopped and Fanin leak 2015-05-19 11:37:03 +02:00
Konrad Malawski
0aecf21c7a =str more robust dispatcher checking in FileSource specs 2015-04-24 12:27:48 +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
Konrad Malawski
cebd9bf1ae +str #15588,#17229 Java 6 Synchronous File Sink / Source
These are synchronous implementations, because we need to be Java 6
  compatible while developing on 2.3.x. However asynchronous
  implementations using AsynchronousFileChannel will come soon for JDK7
  users.

+ ActorPublisher/Subscriber now manage stopping of the actor
+ added documentation on configuring dispatcher for File IO
+ properly handle if source file does not exist
+ file sink / source come with default io dispatcher
> verified no actors are leaking
> exceptions are caught and onErrored properly
+ moved files to akka.stream.io
+ Added OutputStreamSink and InputStreamSource
2015-04-23 18:15:10 +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
Patrik Nordwall
00033313e0 !str #16951 Unify scaladsl and javadsl OperationAttributes
* Move actor specific attributes to ActorOperationAttributes
2015-04-16 14:16:01 +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
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