Add an even higher-level API for people operating with full-octet streams#5
Open
dkg wants to merge 3 commits intoDaGenix:mainfrom
Open
Add an even higher-level API for people operating with full-octet streams#5dkg wants to merge 3 commits intoDaGenix:mainfrom
dkg wants to merge 3 commits intoDaGenix:mainfrom
Conversation
Annotate the parts of the tests that require the std feature. This is an initial (but not complete) cleanup for DaGenix#2. A proper fix would include new tests for the low level interface as well.
This is a much simpler function for a caller that knows they're always dealing with ranges of full bytes. Closes: DaGenix#1
This rounds out the ergonomic very high-level API.
Author
|
@DaGenix could you take a look here? |
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.
There are many circumstances where all parties involved know that the unencoded form will itself be an integer number of octets (that is, that the length of the output bitstream should be a multiple of 8). The current high level API is a bit clumsy for those use cases.
This series adds an even higher-level API that is simple to use in those scenarios. It is a bit asymmetrical, in that the encoding has no error state (all bytestreams are valid input), while decoding does, since there are characters that should never be in z-base-32 (so some charstreams are invalid input).
This should close #1.
Note that it is an expanded API, but it is all entirely backward compatible with previous API. So it probably warrants a minor version bump.