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

Add API documentation comments #62

Merged
merged 12 commits into from
Dec 31, 2020

Conversation

RadicalZephyr
Copy link
Contributor

Most of the documentation was taken directly from Appendix A of the "Functional Reactive Programming" book and slightly adjusted to match the Rust semantics and documentation conventions.

Since the C++ API documented in that appendix is missing a few things present in the Rust API I had to write the documentation for those items from scratch. Extra scrutiny to those items would be appreciated to ensure their correctness. This includes:

  • All SodiumCtx docs
  • All Router docs
  • The CellSink::cell method docs
  • The StreamSink::stream method docs

I'm particularly vague on exactly what Router does, not having used it personally, though the type signature does seem to describe it fairly well.

In addition I hid the documentation for several things that are only incidentally public and not actually intended to be used by library consumers.

This is just a first pass of documentation for the crate. I intend to come back and add more exposition on the crate root and the documentation on each type, eventually including example code.

@RadicalZephyr
Copy link
Contributor Author

And a belated Merry Christmas to you! 🎄

@clinuxrulz
Copy link
Collaborator

That looks great to me. Thank you.

The purpose of Router is to provide a more efficient Stream::filter for when your filtering a lot off the same stream. It creates less work for the backend when updating the graph. It is a last resort when struggling with performance.

@clinuxrulz clinuxrulz merged commit e1add72 into SodiumFRP:master Dec 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants