add a poll variant to DmaStreamReader::get_buffer_aligned
#449
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.
What does this PR do?
Related to #445 and #446
Since
DmaStreamReader
is a stream, we have to play well with otherstreams and make our functions easy to use from a polling context.
get_buffer_aligned
is an async function and, as such, is hard to usefrom there (not impossible, just hard).
If we look at the
AsyncRead
trait, one may see that it defines onlypoll functions. Async functions are then built on top in the
AsyncReadExt.
This is done because creating a future from a pollfunction is trivial, while the other way around is hard.
Therefore, we create a new function
poll_get_buffer_aligned
and wereimplement
get_buffer_aligned
as a wrapper around it: