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

Diagram explaining flow #1

Open
mkg20001 opened this issue Nov 7, 2019 · 3 comments
Open

Diagram explaining flow #1

mkg20001 opened this issue Nov 7, 2019 · 3 comments

Comments

@mkg20001
Copy link

mkg20001 commented Nov 7, 2019

Currently trying to make sense of this using diagrams.

(Isn't finished yet - rest() and .stream are missing)

I think it would be a good idea to have some kind of "diagram" like that one for every stream module, to get a better understanding of what these streams actually do

Thoughts?

IMG_20191107_153259

IMG_20191107_153310

@jacobheun
Copy link
Owner

Yes, I think that would be helpful to better illustrate the intended flow. Also, after going through this if you have thoughts on changes to the api, method names, etc, it would be great to hear them. I think renaming some things list rest or simplifying what things are exposed could help make things easier to understand.

@mkg20001
Copy link
Author

mkg20001 commented Nov 7, 2019

I think once there's a diagram, complexities will be much easier to spot (pun intended 😉)

(One api change that comes to my mind is to make stream a getter that automatically calls .rest(), but this might break passing the stream before calling .rest(), but unsure if that should even be supported)

Just one thing I can't get my head around: How should I display partially reading from a source and then re-using it in the diagram?

@jacobheun
Copy link
Owner

Does something like this help? My immediate thought went to a queue like diagram with multiple consumers of chunks from the queue.

IMG_20191107_163623

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

No branches or pull requests

2 participants