]
Nistor Adrian updated IPROTO-129:
---------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
merged in master and 4.2.x
ProtobufUtil.fromWrappedByteArray should not create a
ByteArrayInputStream
--------------------------------------------------------------------------
Key: IPROTO-129
URL:
https://issues.redhat.com/browse/IPROTO-129
Project: Infinispan ProtoStream
Issue Type: Bug
Affects Versions: 4.2.5.Final, 4.3.2.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Major
Fix For: 4.2.6.Final, 4.3.3.Final
{{ProtobufUtil.fromWrappedByteArray}} wraps the {{bytep[]}} in a {{ByteArrayInputStream}}
and uses that as an input for {{CodedInputStream}}. But that is inefficient, because
{{CodedInputStream.StreamDecoder}} needs to allocate a buffer and copy from the stream
into the buffer before processing.
Instead we can pass the {{byte[]}} directly to {{CodedInputStream}} and use
{{CodedInputStream.ArrayDecoder}}, which doesn't need a buffer.