Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update/finish Hydroflow docs #1538

Open
jhellerstein opened this issue Nov 6, 2024 · 0 comments
Open

update/finish Hydroflow docs #1538

jhellerstein opened this issue Nov 6, 2024 · 0 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@jhellerstein
Copy link
Contributor

The following was formerly in the TODO.md of the Hydroflow docs.

Hydroflow struct and API

  • p1 hydroflow struct and its methods

State & Lifetimes

- discuss stateful ops (`fold_*`, `reduce_*`) and singletons
- `next_stratum` and `next_tick`
- example code (chat?)
- p3 Illustrate the `next_stratum` operator for atomicity (eg Bloom's upsert `<+-` operator)

Debugging

- `inspect`, `for_each` and `null`
- how to use the discrete simulation code

How-Tos and Examples

  • p1 Lamport clocks
  • p2 Vector clocks
  • p2 A partitioned Service
  • p2 A replicated Service
  • p2 Interfacing with external storage
  • p2 Interfacing with external services

Odds and ends taken out of other chapters

  • Document the methods on the hydroflow struct -- especially the run methods.

  • Ensuring that template is up to date with repo

What's currently covered in examples

  • Concepts covered
    • cargo generate for templating
    • Hydroflow program specs embedded in Rust
    • Tokio Channels and how to use them in Hydroflow
      • Network sources and sinks (source_stream)
      • Built-in serde (source_stream_serde, dest_sink_serde)
    • Hydroflow syntax: operators, ->, variables, indexing multi-input/output operators
    • running Hydroflow via run_available and run_async
    • Recursion via cyclic dataflow
    • Fixpoints and Strata
    • Template structure: clap, message types
    • source_stdin
    • Messages and demux
    • broadcast pattern
    • the persist operator to store and replay dataflow
    • the defer_signal operator to gate a dataflow
    • bootstrapping pipelines: initialize
jhellerstein added a commit that referenced this issue Nov 17, 2024
- Remove TODO.md (contents filed as an issue, #1538)
- Update stack diagram
- Update discussion of stack diagram
@MingweiSamuel MingweiSamuel added the documentation Improvements or additions to documentation label Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants