grpc-java/api
Chengyuan Zhang e5d0e9d9a8
api, core: support zero copy into protobuf (#8102)
Enables a codepath for zero-copy protobuf deserialization. Two new InputStream extension interfaces are added:

- HasByteBuffer: allows access to the underlying buffers containing inbound bytes directly without copying
- Detachable: allows customer marshaller to keep the buffers around until the application code is done with using the protobuf messages

Applications can implement a custom marshaller that takes over the ownership of ByteBuffers and wrap them into ByteStrings with protobuf's UnsafeByteOperations support. Then a RopeByteString, which is a in-place composite of ByteStrings can be created. This enables using the zero-copy codepath (requires immutable ByteBuffer indication) of CodedInputStream for deserialization.
2021-05-14 14:45:03 -07:00
..
src api, core: support zero copy into protobuf (#8102) 2021-05-14 14:45:03 -07:00
BUILD.bazel Use @DoNotCall for static methods in Builders that throw 2021-05-12 10:12:52 -07:00
build.gradle deps: Update guava to 29.0 (#7079) 2020-06-03 13:48:02 -07:00