Allow user to specify buffer by adding cbor.MarshalToBuffer()
, UserBufferEncMode
interface, etc.
#553
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.
Currently, the encoder uses a built-in buffer pool. This PR allows encoding to a user specified buffer rather than using the built-in buffer pool.
This PR wraps and uses a function implemented in PR #521 by @benluddy. Thanks Ben! 👍
This PR adds:
cbor.MarshalToBuffer()
uses codec's default options to encode to user provided buffer instead of using built-in buffer pool.UserBufferEncMode
interface extendsEncMode
interface withMarshalToBuffer()
so user can provide buffer for encoding instead of using built-in buffer pool.EncOptions.UserBufferEncMode()
returnsUserBufferEncMode
EncOptions.UserBufferEncModeWithTags()
returnsUserBufferEncMode
EncOptions.UserBufferEncModeWithSharedTags()
returnsUserBufferEncMode
This PR added a check to return error if user provided buffer
*bytes.Buffer
is nil.