Akka Typed ask() for Akka Streams (#24892)

* +str,typ introduce akka typed ask for akka stream

address feedback and add actor interop stages incl ask to docs

more compile tests and adjusted things

last docs

* document adding stages to docs in CONTRIBUTING

* address review comments

* rebase conflicts
This commit is contained in:
Konrad `ktoso` Malawski 2018-05-07 19:23:30 +09:00 committed by GitHub
parent ae20ecaf99
commit 256f81f97e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 549 additions and 16 deletions

View file

@ -383,6 +383,32 @@ tested it becomes an officially supported Akka feature.
[List of Akka features marked as may change](http://doc.akka.io/docs/akka/current/common/may-change.html)
## Contributing new Akka Streams stages/operators
Documentation of Akka Streams operators and stages is automatically enforced.
If a method exists on Source / Sink / Flow, or any other class listed in `project/StreamOperatorsIndexGenerator.scala`,
it must also have a corresponding documentation page under `akka-docs/src/main/paradox/streams/operators/...`.
The pages structure is well-defined, and must be the same on all documentation pages, please refer to any neighbouring
docs pages in there to see the pattern in action. In general though the page must consist of:
- the title, including where the operator is defined (e.g. `ActorFlow.ask` or `Source.map`)
- a short explanation of what this stage does, 1 sentence is optimal
- an image explaining the stage more visually (whenever possible)
- a link to the stages' "category" (these are listed in `akka-docs/src/main/paradox/categories`)
- the method signature snippet (use the built in directives to generate it)
- a longer explanation about the stage and it's exact semantics (when it pulls, cancels, signals elements)
- at least one usage example
Using this structure, the surrounding infrastructure will **generate the index pages**, so you do not need to maintain
the index or category pages manually.
### Adding new top-level objects/classes containing operators
In case you are adding not only a new operator, but also a new class/object, you need to add it to the
`project/StreamOperatorsIndexGenerator.scala` so it can be included in the automatic docs generation and enforcing the
existence of those docs.
# Supporting infrastructure
## Continuous integration