Hi Endre, I would also be interested in hearing about these experiences. As far as I > know there are no small libraries out there to help with that. >
I would like to write one (as a second version / attempt at future-streams, which has design issues). But I don't have time to spare for it currently. I'm also waiting to see what akka-streams will look like in its version 1.0. When I started designing future-streams v2, one difference from v1 was separating the API from the implementation. So I had a stateless, declarative model for a stream (or a graph of streaming components) and then a separate step to reify it into stateful components that also implement RS interfaces. This is like akka-stream's materialization, but akka-stream doesn't expose (when I last checked) a model of the unmaterialized stream that I could write a different materializer implementation for. And it's also not fully general, because its idea of writing a completely custom Publisher or Subscriber requires using an Actor, while the primitive I want to work with is Future. (This may not be correct; I last looked at akka-stream a couple of months ago and maybe things have changed or are planned to change.) Does this sound similar to what you mean? Do you think akka-stream could or will evolve in this direction in the future? Conversely, if someone developed such a model separately, do you think it would be natural / easy / efficient to have an implementation materializing that model using akka-stream? My personal experience is that writing Publishers and Subscribers, while > not trivial are not that hard to implement. Where it gets really > complicated is when you start writing Processors. > If you have (generic) Publisher and Subscriber implementations, then you just need one of each to make a Processor. But that may not be efficient, if RS doesn't match your internal logic very well. In future-streams I learned the lesson that having *every* component in the pipeline implement RS is a bad idea: it's inefficient and causes code complexity. If I wrote a v2 I would use different interfaces, with cheap but explicit adaptors to RS available on request. In practice I only need RS to bridge to other implementations. -- Daniel Armak -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
