zstd-rs icon indicating copy to clipboard operation
zstd-rs copied to clipboard

StreamingDecoder: `DEC: BorrowMut<FrameDecoder>` isn't very useful

Open nodakai opened this issue 1 year ago • 1 comments

Currently, DEC must return a concrete instance of FrameDecoder for performing the actual decoding process. I couldn't customize its behavior to include functionality such as tracking the number of decoded bytes.

It would be helpful if FrameDecoder implemented a trait that wraps its .read() method. This way, DEC could be bound to that trait, allowing for more flexible and customizable behavior during decoding.

nodakai avatar Nov 11 '24 09:11 nodakai

I'm not sure what you are tying to accomplish here. To count the decoded bytes you can customize the source which is already generic over the Read trait. The reason StreamingDecoder takes a generic parameter for the decoder at all is that this allows both an owned version as well as a borrowed version without having separate types for that.

KillingSpark avatar Nov 12 '24 14:11 KillingSpark