* Sink.queue and Sink.actorRefWithAck can now handle one element input
buffers
* Sink.queue now buffers as much upstream elements as declared in its
InputBuffer attribute, instead of one less.
* Tests for streaming with full buffer now do not depend on default
input buffer size (16); instead, they set sink input buffer size
explicitly.
* Sink.{queue, actorRefWithAck} and StreamConverters.{asInputStream,
asOutputStream} now use overriden/inherited `InputBuffer` attribute
* They now use their default attributes as initial attributes.
* 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
This entails:
* adding akka.pattern.PatternCS.* to enable ask etc. with
CompletionStage
* changing RequestContext to offer an ExecutionContextExecutor for the
CompletionStage.*Async combinators
* splitting up akka.stream.Queue for JavaDSL consistency
* 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
- 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
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
* 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()`
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