Ok, so these have now be converted into PRs, thanks a lot netcomm!

On Fri, Jul 17, 2015 at 5:44 PM, netcomm <1054618...@qq.com> wrote:

> Shapes describe what you can connect to things,maybe use 'Connector' is
> more Accurate, just a suggest, if i miss something, please correct me!
>
> 在 2015年7月17日星期五 UTC+8上午5:48:26,Konrad Malawski写道:
>>
>> 1. what is the different between Module and Shape?
>>>
>> Modules are internal things.
>> Shapes are "ports", you have FlowShape, SinkShape, SourceShape,
>> MyVeryOwnCustomShape etc.
>> Shapes describe what you can connect to things; modules are the "boxes"
>> that contain the operations.
>>
>> I think you'll greately enjoy this docs page:
>> http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/stream-composition.html
>>
>>
>>> 2. FlowModule、SinkModule、SourceModule they all extends from Module,but
>>> StageModule inherit from FlowModule,why StageModule not straightly inherit
>>> from Module?
>>> thanks in advance
>>>
>>>
>>> 在 2015年5月11日星期一 UTC+8下午2:41:34,drewhk写道:
>>>>
>>>> Hi,
>>>>
>>>> On Sun, May 10, 2015 at 11:31 PM, <eec...@gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I have read all of the documentation. I am missing a simple overview
>>>>> that contains the different types of elements.
>>>>>
>>>>> As far as I can tell there are two things: Graph and Stage.
>>>>>
>>>>
>>>> Not exactly. There are only Graphs with Shapes. Graphs can be composite
>>>> (built from other graphs) and atomic (implemented directly). Stages are
>>>> used to build atomic Graphs with one input and one output. FlexiMerge and
>>>> FlexiRoute can be used to build atomic Graphs with multiple inputs or
>>>> multiple outputs (but currently not both at the same time).
>>>>
>>>>
>>>>> A graph has a `shape` which describes it's input's and it's outputs.
>>>>> There are a few specialized shapes which are treated differently:
>>>>>
>>>>>    - Source
>>>>>    - Sink
>>>>>    - Stage / Flow
>>>>>    - FanIn
>>>>>    - FanOut
>>>>>
>>>>> These shapes are not treated differently, but more like the DSL has
>>>> sugar to help using these very common shapes more efficiently. Source, Sink
>>>> and Flow for example extends Graph, the only thing they add to that is a
>>>> convenience DSL.
>>>>
>>>>
>>>>
>>>>> It seems the only way to create a FanIn or FanOut shaped graph that
>>>>> can be handled correctly is to use FlexiMerge or FlexiRoute, please 
>>>>> correct
>>>>> me if I'm wrong.
>>>>>
>>>>
>>>> Yes, currently this is a limited API compared to Stages. Eventually
>>>> these will converge on a more unified model. The current state is:
>>>>  - Composite Graphs are handled uniformly everywhere, if you ignore the
>>>> Flow/Source DSL and the helper FlowGraph.Implicits DSL, then everything
>>>> looks and behaves the same way.
>>>>  - Atomic Graph support is fractured. There are Stages (which are now
>>>> used for almost all Source/Sink/Flow DSL stages, but soon enough they will
>>>> be used for *all* such internal stages), there are FlexiMerge and
>>>> FlexiRoute which are a bit limited right now, and there are a bunch of
>>>> custom internal implementations to fill the current gaps.
>>>>
>>>>
>>>>>
>>>>> A stage is the implementation of something that is part of the chain:
>>>>> 1 upstream, 1 downstream
>>>>>
>>>>>
>>>>> I wanted to write my own graph that acts similar to unzip and filter:
>>>>> the input is split on a predicate. However when looking at the source 
>>>>> code,
>>>>> I found that Unzip is not built using the building blocks that are
>>>>> available to us library users. It's actually implemented using a private
>>>>> internal actor using a totally different mechanism than is available to 
>>>>> us.
>>>>> In the Unzip case, an example is available in the documentation.
>>>>>
>>>>> I would be nice if the "eat your own dog food" principle had been used
>>>>> here. That would allow me to look at the implementation of the junctions 
>>>>> to
>>>>> get an idea on how to create them (as the documentation does not cover
>>>>> them).
>>>>>
>>>>
>>>> Yes, this is the plan. Over a long list of releases this effort has
>>>> been progressed steadily. The most important remaining step is to have a
>>>> satisfying internal model for n-to-k atomic Graphs. We have the idea how to
>>>> do it, but it will need some research first. This is expected to happen
>>>> post 1.0. 1-to-1 stages are almost completely ported to the Stage API now,
>>>> not much is missing on that front.
>>>>
>>>>
>>>>>
>>>>> I doubt you will change the implementation as you already are at RC2,
>>>>> but it would be great if examples were created for the built-in junctions
>>>>> using the public API's.
>>>>>
>>>>>
>>>>> Back to my original problem: A simple shape, one input, two outputs.
>>>>> One of the outputs is chosen based on a predicate. I could create a graph
>>>>> like this:
>>>>>
>>>>> source ~> broadcast
>>>>> broadcast ~> filterTrue  ~> out1
>>>>> broadcast ~> filterFalse ~> out2
>>>>>
>>>>> It would however be nice if I could create a graph using the other
>>>>> tools. My guess is that I would need to use the FlexiRoute, the interface
>>>>> for this thing is hard, any help is appreciated.
>>>>>
>>>>
>>>> Currently these are the only options. This will change in the future.
>>>>
>>>> -Endre
>>>>
>>>>
>>>>>
>>>>>
>>>>> Erik
>>>>>
>>>>>  --
>>>>> >>>>>>>>>> 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 akka-user+...@googlegroups.com.
>>>>> To post to this group, send email to akka...@googlegroups.com.
>>>>> Visit this group at http://groups.google.com/group/akka-user.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> >>>>>>>>>> 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 akka-user+...@googlegroups.com.
>>> To post to this group, send email to akka...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/akka-user.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Cheers,
>> Konrad 'ktoso' Malawski
>> Akka <http://akka.io/> @ Typesafe <http://typesafe.com/>
>>
>  --
> >>>>>>>>>> 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 akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Cheers,
Konrad 'ktoso' Malawski
Akka <http://akka.io/> @ Typesafe <http://typesafe.com/>

-- 
>>>>>>>>>>      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 akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to