Commit graph

34 commits

Author SHA1 Message Date
Endre Sándor Varga
dc7269e620 Rename OperationAttributes to Attributes 2015-06-23 18:45:04 +02:00
drewhk
9ab2de5e24 Merge pull request #17792 from drewhk/wip-17765-materializer-shutdown
+str #17765: Add shutdown() to materializer, also fix interpreter interruption errors
2015-06-22 13:52:03 +02:00
Roland Kuhn
f1121d6832 Merge pull request #17745 from akka/wip-VirtualProcessor-∂π
=str add VirtualProcessor
2015-06-22 11:10:01 +02:00
Endre Sándor Varga
05aed95c91 +str #17765: Add shutdown() to materializer, also fix interpreter interruption errors 2015-06-19 17:34:06 +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
Roland Kuhn
6e72271eb5 =str add VirtualProcessor
- create a fully RS compliant minimal identity processor (that is not an
  Actor)
- replace SubscriberSourceVirtualProcessor,
  PublisherSinkVirtualSubscriber and PublisherSinkVirtualPublisher with
  this
- add tests that transform Sink.publisher’s and Source.subscriber’s
  materialized value
- also remove the Keep.{left, right} optimization in order to make
  side-effecting mat value transforms execute even if their values are
  discarded
2015-06-18 22:24:14 +02:00
drewhk
a94830c656 Merge pull request #17710 from agolubev/agolubev-#17226-dropWhile-takeWhile
+str #17226 add dropWhile and takeWhile
2015-06-17 12:39:25 +02:00
Alexander Golubev
6f9438a2b0 +str #17226 add dropWhile and takeWhile 2015-06-16 17:55:50 -04:00
Endre Sándor Varga
74843eccaf =str #16923: Inject identity between SubscriberSource and PublisherSink 2015-06-15 14:40:09 +02:00
drewhk
23d7aa0aa2 Merge pull request #17636 from 2m/wip-uniform-fanin-variance
=str #16997 added variance annotation to UniformFanInShape
2015-06-12 15:47:31 +02:00
Endre Sándor Varga
1dde8b3a3b making http pass with serialization checks 2015-06-02 13:56: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
f4c83771bb !str #17393: Make stream-tests pass with serialize-messages=on 2015-06-02 12:32:27 +02:00
Konrad Malawski
5e8ff792a0 +str #16885 add splitAfter
Implementation is shared with splitWhen - see Split / SplitWhere
Allows for easy addition of splitWhen(x => Decision) if we'd like to
Resolves #16885
2015-05-28 17:32:16 +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
Endre Sándor Varga
605bbbce86 =str #17377: Turn off debug validation 2015-05-07 15:20:25 +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
4132e026ec refactor SslTlsActor and stop it reliably
- this also discovered two omissions in the Transfer infrastructure:

  - inputsAvailableFor should be completed when the input is cancelled
  - demandAvailableFor should be completed when the output is errored

also switch off tracing for SslTls—we don’t want this on in production
2015-04-24 10:40:21 +02:00
Patrik Nordwall
f4703d8916 =str #16986 Handle early cancelation issue
* if downstream cancels before subscription from upstream is
  received the cancel was not propagated to upstream, the
  actor was stopped too early
2015-04-23 20:00:13 +02: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
Roland Kuhn
616838a738 +str #15833 TLS with session renegotiation 2015-04-23 15:53:52 +02:00
Patrik Nordwall
33919f683c Merge pull request #17228 from akka/wip-16699-fixmes-patriknw
=str #16699 fix some FIXMEs
2015-04-23 14:37:20 +02:00
Patrik Nordwall
c63b9c801a =str #16699 fix some FIXMEs 2015-04-23 14:36:53 +02:00
Patrik Nordwall
2a975bfb35 =str #16986 Fix memory leak in PrefixAndTail when using Sink.publisher
The problem was reproduced with the TCK PrefixAndTailTest
required_spec313_cancelMustMakeThePublisherEventuallyDropAllReferencesToTheSubscriber
The tck subscriber was still referenced. Profiling revealed that the
root cause was the VirtualPublisher that holds a reference to the
realPublisher, which was MultiStreamOutputProcessor$SubstreamOutput,
which had the reference to the subscriber. The VirtualPublisher
is created by the Sink.publisher in the test, and the test holds
on to that VirtualPublisher reference.

The solution is to null out realPublisher field in the VirtualPublisher.

The old workaround with the NullSubscriber was removed.

Also made Sink.publisher reject additional subscribers.
2015-04-21 16:11:23 +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
Patrik Nordwall
4fcd3d0392 =str #16957 Refactor actor creation api for sinks and sources
* also solves #16952, dispatcher for ActorPublisher
2015-04-14 11:02:33 +02:00
Roland Kuhn
4c623fade7 !str #17090 add AsyncStage 2015-04-10 09:00:36 +02:00
Patrik Nordwall
71d2db0552 =str Fix some scaladoc 2015-03-06 10:23:26 +01:00
Roland Kuhn
e870c7cbd2 many compile fixes and FlowMaterializer
The DSLs MUST NOT rely upon ActorFlowMaterializer, otherwise we cannot
add other materializers later.
2015-02-26 22:42:34 +01:00
Roland Kuhn
aeb31d2a1f fix a good swath of FIXMEs 2015-02-26 12:07:02 +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
Renamed from akka-stream/src/main/scala/akka/stream/impl/ActorBasedFlowMaterializer.scala (Browse further)