Commit graph

222 commits

Author SHA1 Message Date
drewhk
a44f8b42e2 Merge pull request #17296 from drewhk/wip-17254-use-shapes-when-possible-drewhk
+str #17254: Accept graphs instead of Flow/Source/Sink etc.
2015-04-24 14:05:12 +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
Konrad Malawski
0aecf21c7a =str more robust dispatcher checking in FileSource specs 2015-04-24 12:27:48 +02:00
Martynas Mickevičius
85bd6fa618 =str fix compilation issue after #17238 merge 2015-04-24 13:06:58 +03:00
Roland Kuhn
874bb12128 Merge pull request #17285 from akka/wip-17277-akka.japi.function-∂π
!str #17277 remove akka.stream.javadsl.japi.WithVariance
2015-04-24 11:50:10 +02:00
Martynas Mickevičius
8e2cc3e70f =str #17089 stream testkit 2015-04-24 12:25:54 +03:00
Roland Kuhn
354a8e3a41 !str #17277 remove akka.stream.javadsl.japi.WithVariance
sadly we forgot to also move the boilerplate-generated FunctionN and
ProcedureN into akka-actor, so they are still in
akka.stream.javadsl.japi.
2015-04-24 11:05:11 +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
Konrad Malawski
089760e4e5 Merge pull request #17273 from ktoso/wip-stream-io-implicits-ktoso
+str #15588 Additional way of using IO sink/source
2015-04-23 23:00:28 +02:00
Konrad Malawski
337850919e +str #17284 allows deciding to stop after signaling terminal or not 2015-04-23 21:42:18 +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
drewhk
2152340ba8 Merge pull request #17280 from drewhk/wip-16940-shallow-layout-copy-drewhk
=str #16940: Implement shallow copy for stream layouts
2015-04-23 19:37:04 +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
Endre Sándor Varga
82a7f13a02 =str 16940: Implement shallow copy of layouts 2015-04-23 18:00:01 +02:00
Roland Kuhn
616838a738 +str #15833 TLS with session renegotiation 2015-04-23 15:53:52 +02:00
Patrik Nordwall
f5472a5581 Merge pull request #17234 from akka/wip-15707-source-sink-names-patriknw
=str 15707 Define default names for sources and sinks
2015-04-23 13:23:29 +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
373f1acf3a =str 15707 Define default names for sources and sinks
* Not intended to close the ticket, but improve the situation somewhat
  by defining default names of all sources and sinks.
* The stage names (actor names) are still rather weird

For example the following

    Source.single(1).named("aa")
      .map(identity).named("bb")
      .map(identity).named("cc")
      .runWith(Sink.publisher)

is materilaized with names:
flow-1-0-cc-bb-aa-singleSource : akka.stream.impl.PublisherSource@1787f2a0
flow-1-1-cc-bb-map : Map(<function1>,OperationAttributes(List(Name(map))))
flow-1-2-cc-map : Map(<function1>,OperationAttributes(List(Name(map))))
flow-1-3-publisherSink : PublisherSink

but that is out of scope for this commit
2015-04-20 21:04:03 +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
Konrad Malawski
9fd425021b Merge pull request #17195 from akka/wip-17191-mapAsyncUnordered-termination-∂π
=str #17191 mapAsyncUnordered shall terminate after resume
2015-04-14 14:34:47 +02:00
Roland Kuhn
7681c557f7 =str #17191 mapAsyncUnordered shall terminate after resume 2015-04-14 12:41:34 +02:00
Patrik Nordwall
9c40b543bd Merge pull request #17175 from akka/wip-16957-actor-creation-patriknw
=str #16957 Refactor actor creation api for sinks and sources
2015-04-14 11:42:51 +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
78fb33be32 =str #17157 indicate right input in ReadPreferred 2015-04-14 08:55:39 +02:00
Patrik Nordwall
b69988c190 !str #16937 Remove section, in favor of via and separate flow 2015-04-10 17:34:29 +02:00
Mathias
85c0571620 !str #17039 change default materialization placeholder type from Unit to Any 2015-04-10 15:10:42 +02:00
Konrad Malawski
3b23d84788 Merge pull request #17146 from ktoso/wip-javadsl-numbered-ktoso
+str #17108 adds arity-numbers to javadsl for nicer compile errors
2015-04-10 14:52:00 +02:00
Konrad Malawski
d6b6220a5d +added comments to all templates 2015-04-10 14:51:40 +02:00
Patrik Nordwall
f4ed62b84c !str #16520 Add ActorRefSource
* and rename the factory for ActorPublisherSource,
  from Source.apply to Source.actorPublisher

* including internal buffer, with OverflowStrategy

* support to complete/fail stream
2015-04-10 13:53:15 +02:00
Patrik Nordwall
946faedd95 !str #16521 Add ActorRefSink
* also rename the factory for ActorSubscriber props Sink,
  from apply to actorSubscriber
2015-04-10 12:58:52 +02:00
Roland Kuhn
8f47b6dfcc Merge pull request #17105 from akka/wip-async-stage-∂π
add async stage
2015-04-10 10:52:01 +02:00
Roland Kuhn
4c623fade7 !str #17090 add AsyncStage 2015-04-10 09:00:36 +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
Konrad Malawski
4e796a5eec +str #17108 adds arity-numbers to javadsl for nicer compile errors
Resolves #17108
2015-04-07 16:11:48 +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
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
b6fc0d150b Merge pull request #17061 from bantonsson/wip-16938-GraphConcatSpec-ban
=str #16938 Enable more tests in GraphConcatSpec
2015-03-27 10:22:11 +01:00
Björn Antonsson
164869c135 =str #16938 Enable more tests in GraphConcatSpec 2015-03-24 14:41:17 +01: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
a531058c04 !str #16983 add outputBurstLimit
This limits the number of elements that the ActorInterpreter will allow
the OneBoundedInterpreter to emit during one message processing.
2015-03-08 17:22:44 +01:00
Patrik Nordwall
9b3d19f451 =str #16309 DRY FlowIteratorSpec, FlowIterableSpec, SynchronousIterableSpec 2015-03-06 16:06:19 +01:00
Patrik Nordwall
f62b161a10 Merge pull request #17009 from akka/wip-16866-fail-future-patriknw
=str #16866 fail fold and foreach future when function throws
2015-03-06 15:58:22 +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
395ef00938 =str #16866 fail fold and foreach future when function throws 2015-03-05 18:26:17 +01:00
Patrik Nordwall
53e3dcad06 Merge pull request #17006 from akka/wip-16982-resume-more-than-once-patriknw
=str #16982 Fix supervision bug when more than one resume/restart
2015-03-05 18:00:53 +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
Patrik Nordwall
ac2a890898 =str correct InterpreterSupervisionSpec 2015-03-05 15:16:37 +01:00
Patrik Nordwall
75087a19f2 =str #16982 Fix supervision bug when more than one resume/restart 2015-03-05 14:45:34 +01:00