Added util modules for Stream alignment#27
Open
nightshiftallday wants to merge 3 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added module Lookahead which glues together two consecutive stream words, allowing a preview of the bytes of the next stream word. This is useful in handling data elements that cross two stream words. For example, in handling plain-encoded string pages, the length prefix (4 bytes long) of a string value may cross between two consecutive stream words. By employing a Lookahead with a preview size of 3, the whole prefix can be read from any offset, without having to fetch the next word, simplifying edge case handling.
Modified module AXIToData to support pruning away elements from the incoming stream which are not valid.