feat: reducing allocations in the 9p protocol layer #107
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.
Making use of a shared mutable buffer between 9p parsing Coros and the logic running them in the sans-io layer so that we only need to allocate and re-use a single buffer for parsing messages rather than allocating a new Vec for each read.
The resulting public API is a little odd as it means that consumers of the crate will not be able to implement their own IO wrappers unless the methods on
SharedBuf
are made public. Until there is a use case for that however, I am planning on leaving things this way so that consumers ofninep
aren't able to footgun with the unsafe API thatSharedBuf
exposes.