Commit graph

1485 commits

Author SHA1 Message Date
Konrad Malawski
616e8b7ad9 Merge pull request #16384 from ktoso/rs-100M1-ktoso
=pro update to reactive-streams 1.0.0.M1
2014-11-25 12:18:11 +01:00
Konrad 'ktoso' Malawski
5550ca29f4 =pro update to reactive-streams 1.0.0.M1
Notice that one 317 is disabled and awaiting a fix in the TCK
2014-11-25 10:42:12 +01:00
Patrik Nordwall
10c307ab9f Merge pull request #16360 from akka/wip-16321-FlexiMergeTest-patriknw
=str #16321 Harden FlexiMergeTest
2014-11-25 10:12:40 +01:00
Patrik Nordwall
74be575062 Merge pull request #16362 from akka/wip-16318-FlexiRouteTest-patriknw
=str #16318 Harden FlexiRouteTest
2014-11-25 10:11:02 +01:00
Björn Antonsson
a255a6c4c5 Merge pull request #16292 from spray/wip-15923-mathias
MarshallingDirectives, FormFieldDirectives, and more
2014-11-24 11:48:44 +01:00
Mathias
dbf76cb096 !htp #15923 port FormFieldDirectives from spray 2014-11-24 10:35:07 +01:00
Mathias
193dda6e01 !htp #15927 port MarshallingDirectives from spray 2014-11-24 10:35:07 +01:00
Mathias
931e8f9b18 !htk rename RouteTest::entity to RouteTest::responseEntity, smaller test cleanups
Also upgrade to latest (un)marshalling changes.
2014-11-24 10:34:43 +01:00
Mathias
d65fe4e04e !htp #16190 refactor and improve marshalling infrastructure, get rid of Marshallers abstraction altogether
Also improve Unmarshalling infrastructure once more.
2014-11-24 10:34:24 +01:00
Mathias
5b126b6d8b +htc apply smaller extensions and simplifications 2014-11-24 10:28:18 +01:00
Patrik Nordwall
966b7477ca =str #16318 Harden FlexiRouteTest 2014-11-21 16:16:04 +01:00
Patrik Nordwall
56751c8a1d =str #16321 Harden FlexiMergeTest 2014-11-21 15:05:22 +01:00
Patrik Nordwall
b285fa0c55 Merge pull request #16287 from akka/wip-15236-transformer-patriknw
!str #15236 new transformer
2014-11-21 12:21:22 +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
Patrik Nordwall
299854905b Merge pull request #16349 from 2m/wip-16349-fix-map-map-optimization
=str #16349 fix map + map optimization
2014-11-21 08:30:24 +01:00
Martynas Mickevičius
67e2ba9263 =str #16349 fix map + map optimization 2014-11-20 17:01:49 +02:00
Patrik Nordwall
55980aded5 Merge pull request #16340 from akka/wip-16338-mapConcat-patriknw
=str #16338 Emit final elements in mapConcat
2014-11-20 12:52:53 +01:00
Patrik Nordwall
837ce3eb12 =str #16338 Emit final elements in mapConcat 2014-11-19 19:51:44 +01:00
Konrad Malawski
523605349c Merge pull request #16333 from akka/wip-rename-reactivestreamsconstants-√
=str - renames ReactiveStreamsConstants to ReactiveStreamsCompliance
2014-11-19 16:23:22 +01:00
Viktor Klang
cb6da7a3d4 =str - renames ReactiveStreamsConstants to ReactiveStreamsCompliance 2014-11-19 15:31:43 +01:00
Konrad Malawski
9ee2a1f882 Merge pull request #16329 from akka/wip-harden-iterator-publisher-√
=str - hardens the IteratorPublisher by making it use the ReactiveStream...
2014-11-19 11:27:00 +01:00
Konrad Malawski
d91b8aa00d Merge pull request #16317 from ktoso/fix-16315-key-could-be-already-cancelled-ktoso
=str #16315 fixes assumption that substream key is always present
2014-11-19 10:40:35 +01:00
Konrad Malawski
849eda2337 Merge pull request #16326 from spray/w/16289-fix-handleExceptions
=htp #16289 in `handleException` also catch strict exceptions during route building or execution
2014-11-19 10:25:53 +01:00
Konrad 'ktoso' Malawski
630beb0a5c =str #16315 fixes assumption that substream key is always present
Additional fix for race when timout put to mailbox, then timeout cancelled and subscribe succeeds.
So it could happen, that JUST BEFORE `subscriptionTimeout.cancel()` the
`SubstreamSubscriptionTimeout` was already put into the actor's mailbox,
the cancelling then kicks in (does nothing) and then the attaching of
the subscriber kicks in, it passes OK. So the actor gets the timeout
first and then the subscription... So the publisher is already
subscribed to by some subsciber. But now the actor gets the
SubstreamSubscriptionTimeout message, and wants to subscribe the
cancelling subscriber to it. The publisher can only handle 1 subscriber,
so attaching of the cancelling subscriber will fail - well this is not
very bad, because it will just onError the cancelling subscriber rigth
away, but it can be missleading because the debug log will contain the
"cancelling... after..." message, while it has not REALLY cancelled it.

The isAttached can not be added to handleSubscriptionTimeout because
there it's "too late" and the log message would already be sent..

So while writing this up I noticed that it's not an "error race", but
it's still a race we could avoid when putting this isAttached check
before cancelling the publisher... do you think it's worth it?
2014-11-19 10:17:33 +01:00
Viktor Klang
692e49efb2 =str - hardens the IteratorPublisher by making it use the ReactiveStreamsConstants 2014-11-18 23:19:30 +01:00
Viktor Klang (√)
8f4e099bec Merge pull request #16328 from akka/wip-remove-async-iterable-publisher-√
+str - Removes AsynchronousIterablePublisher
2014-11-18 22:14:24 +01:00
Viktor Klang
94cdfa0643 +str - Removes AsynchronousIterablePublisher 2014-11-18 20:45:24 +01:00
Viktor Klang (√)
a7dcbc7e3d Merge pull request #16273 from akka/wip-misc-materializer-improvements-√
=str - Various Flow and FlowMaterializer improvements
2014-11-18 20:09:19 +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
Johannes Rudolph
9ad814209a =htp #16289 in handleException also catch strict exceptions during route building or execution 2014-11-18 12:12:58 +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
Konrad Malawski
af3d9860dd Merge pull request #16291 from ktoso/wip-actorpublisher-timeouts-help-ktoso
=str #15622 ActorPublisher now has subscriptionTimeout support
2014-11-17 10:56:11 +01:00
Konrad Malawski
25095788bc Merge pull request #16293 from ktoso/wip-fleximerge-readall-ktoso
=str #16233 adds ReadAll for FlexiMerge
2014-11-17 10:55:33 +01:00
drewhk
f57c363be3 Merge pull request #16305 from drewhk/wip-iteratorinterpreter-drewhk
+str: IteratorInterpreter and ByteStringBatcher
2014-11-14 14:41:20 +01:00
Endre Sándor Varga
f80d97fc9b !str: IteratorInterpreter and ByteStringBatcher
also Fixing TerminationDirective return types
2014-11-14 14:08:07 +01:00
Konrad 'ktoso' Malawski
2a968924a2 =str #16233 adds ReadAll for FlexiMerge, with JavaDSL and more typesafety 2014-11-14 10:20:55 +01:00
Konrad 'ktoso' Malawski
5d7b2ab5a8 =str #15622 ActorPublisher now has subscriptionTimeout support 2014-11-13 20:37:53 +01:00
Patrik Nordwall
271717f0a5 Merge pull request #16294 from spray/w/optimize-Strict-entity-rendering
=htc optimize rendering for Strict entities
2014-11-13 11:19:21 +01:00
Johannes Rudolph
f4daef75d9 =htc optimize rendering for Strict entities 2014-11-12 16:57:18 +01:00
Martynas Mickevičius
7bf97c768b Merge pull request #16196 from spray/w/15922-FileAndResourceDirectives
+htp #15922 import FileAndResourceDirectives from spray
2014-11-12 14:36:45 +02:00
Björn Antonsson
d20d0570c9 Merge pull request #16282 from akka/wip-16263-subscription-timeout-ban
!str #16263 Made subscription timeout handling run mostly inside the actor
2014-11-12 13:31:01 +01:00
Konrad Malawski
d8ae40897c Merge pull request #16284 from ktoso/wip-splitwhen-leaks-ktoso
=str #16272 splitWhen should drop reference when done with substream
2014-11-12 13:23:09 +01:00
Björn Antonsson
5a26718050 !str #16263 Made subscription timeout handling run mostly inside the actor 2014-11-12 13:05:57 +01:00
Konrad 'ktoso' Malawski
0f4abb687f =str #16272 splitWhen should drop reference when done with substream
The completeSubstreamOutput is used to not early complete the stream,
where as invalidating would shutdown the stream too early (and elements
wouldn't be emitted as expected).
2014-11-12 11:59:06 +01:00
Johannes Rudolph
306c4b8e52 !htc,par cleanup warnings
- about Rendering not being accessible for implementors
 - about DepFn1/2 being defined in package object
2014-11-12 11:44:13 +01:00
Patrik Nordwall
bb07c20547 Merge pull request #16281 from akka/wip-16280-ops-factory-patriknw
=str #16280 Make flows sharable again
2014-11-12 09:45:51 +01:00
Johannes Rudolph
188cbabefe +htp #15922 import FileAndResourceDirectives from spray 2014-11-12 08:19:00 +01:00
Johannes Rudolph
4631e052f2 +str add akka.stream.materializer.file-io-dispatcher setting 2014-11-12 08:19:00 +01:00
Johannes Rudolph
840feb42ea =htp #16238 fix RangeDirectives not to assume reusable entity data stream 2014-11-12 08:18:59 +01:00