Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

docs/stdlib/stream: correct comment in example code about discarded data #1474

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

Open
purdeaandrei wants to merge 1 commit into amaranth-lang:main
base: main
Choose a base branch
Loading
from purdeaandrei:correct_comment_in_stream_example_code

Conversation

@purdeaandrei
Copy link
Contributor

@purdeaandrei purdeaandrei commented Aug 4, 2024

In the example code the condition done & self.stream.valid & ~self.stream.ready is not sufficient to cause the payload to be discarded. That is because the done bit remains high. In case of a very slow stream, the first two quickly arriving serial transactions will never be lost, even if the first transaction has not been processed yet, when the second one arrives.
However if a 3rd transaction arrives as well, then the 2nd transaction will be discarded.

See here for the done bit being sticky, and the 2nd transaction (out of two) not being lost:
image

See here for the case when the 3rd transaction causes the 2nd transaction to be discared:
image

In the example code the condition `done & self.stream.valid & ~self.stream.ready`
is not sufficient to cause the payload to be discarded. That is because the done
bit remains high. In case of a very slow stream, the first two quickly arriving
serial transactions will never be lost, even if the first transaction has not
been processed yet, when the second one arrives.
However if a 3rd transaction arrives as well, then the 2nd transaction will be
discarded.
Copy link

codecov bot commented Aug 4, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.89%. Comparing base (cde68fb) to head (74a6cf3).
Report is 7 commits behind head on main.

Additional details and impacted files
@@ Coverage Diff @@
## main #1474 +/- ##
==========================================
- Coverage 91.12% 90.89% -0.24% 
==========================================
 Files 43 43 
 Lines 10990 11150 +160 
 Branches 2665 2712 +47 
==========================================
+ Hits 10015 10135 +120 
- Misses 805 849 +44 
+ Partials 170 166 -4 

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@purdeaandrei purdeaandrei force-pushed the correct_comment_in_stream_example_code branch from 74a6cf3 to af26f96 Compare August 4, 2024 07:40
@purdeaandrei purdeaandrei changed the title (削除) docs/stdlib/stream: correct comment in example code about when data loss (削除ここまで) (追記) docs/stdlib/stream: correct comment in example code about discarded data (追記ここまで) Aug 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@whitequark whitequark Awaiting requested review from whitequark whitequark is a code owner

At least 0 approving reviews are required to merge this pull request.

Assignees

No one assigned

Labels

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /