Class ProtoLiteUtils.MessageMarshaller<T extends com.google.protobuf.MessageLite>
java.lang.Object
io.grpc.protobuf.lite.ProtoLiteUtils.MessageMarshaller<T>
- All Implemented Interfaces:
MethodDescriptor.Marshaller<T>, MethodDescriptor.PrototypeMarshaller<T>, MethodDescriptor.ReflectableMarshaller<T>
- Enclosing class:
ProtoLiteUtils
private static final class ProtoLiteUtils.MessageMarshaller<T extends com.google.protobuf.MessageLite>
extends Object
implements MethodDescriptor.PrototypeMarshaller<T>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final ThreadLocal<Reference<byte[]>> private final Tprivate final com.google.protobuf.Parser<T> private final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns theClassthat this marshaller serializes and deserializes.An instance of the expected message type, typically used as a schema and helper for producing other message instances.parse(InputStream stream) Given anInputStreamparse it into an instance of the declared type so that it can be passed to application code.private TparseFrom(com.google.protobuf.CodedInputStream stream) Given a message, produce anInputStreamfor it so that it can be written to the wire.
-
Field Details
-
bufs
-
parser
-
defaultInstance
-
recursionLimit
private final int recursionLimit
-
-
Constructor Details
-
MessageMarshaller
MessageMarshaller(T defaultInstance, int recursionLimit)
-
-
Method Details
-
getMessageClass
Description copied from interface:MethodDescriptor.ReflectableMarshallerReturns theClassthat this marshaller serializes and deserializes. If inheritance is allowed, this is the base class or interface for all supported classes.- Specified by:
getMessageClassin interfaceMethodDescriptor.ReflectableMarshaller<T extends com.google.protobuf.MessageLite>- Returns:
- non-
nullbase class for all objects produced and consumed by this marshaller
-
getMessagePrototype
Description copied from interface:MethodDescriptor.PrototypeMarshallerAn instance of the expected message type, typically used as a schema and helper for producing other message instances. Thenullvalue may be a special value for the marshaller (like the equivalent ofVoid), so it is a valid return value.nulldoes not mean "unsupported" or "unknown".It is generally expected this would return the same instance each invocation, but it is not a requirement.
- Specified by:
getMessagePrototypein interfaceMethodDescriptor.PrototypeMarshaller<T extends com.google.protobuf.MessageLite>
-
stream
Description copied from interface:MethodDescriptor.MarshallerGiven a message, produce anInputStreamfor it so that it can be written to the wire. Where possible implementations should produce streams that areKnownLengthto improve transport efficiency.- Specified by:
streamin interfaceMethodDescriptor.Marshaller<T extends com.google.protobuf.MessageLite>- Parameters:
value- to serialize.- Returns:
- serialized value as stream of bytes.
-
parse
Description copied from interface:MethodDescriptor.MarshallerGiven anInputStreamparse it into an instance of the declared type so that it can be passed to application code.- Specified by:
parsein interfaceMethodDescriptor.Marshaller<T extends com.google.protobuf.MessageLite>- Parameters:
stream- of bytes for serialized value- Returns:
- parsed value
-
parseFrom
private T parseFrom(com.google.protobuf.CodedInputStream stream) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-