Class ArmeriaMessageDeframer
java.lang.Object
com.linecorp.armeria.common.grpc.protocol.ArmeriaMessageDeframer
- All Implemented Interfaces:
com.linecorp.armeria.common.stream.HttpDecoder<DeframedMessage>
@UnstableApi
public class ArmeriaMessageDeframer
extends Object
implements com.linecorp.armeria.common.stream.HttpDecoder<DeframedMessage>
A deframer of messages transported in the gRPC wire format. See
gRPC Wire Format
for more detail on the protocol.
The logic has been mostly copied from io.grpc.internal.MessageDeframer, while removing the buffer
abstraction in favor of using ByteBuf directly, and allowing the delivery of uncompressed frames as
a ByteBuf to optimize message parsing.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionArmeriaMessageDeframer(int maxMessageSizeBytes)Construct anArmeriaMessageDeframerfor reading messages out of a gRPC request or response. -
Method Summary
Modifier and TypeMethodDescriptiondecompressor(@Nullable Decompressor decompressor)Sets theDecompressorfor this deframer.voidprocess(com.linecorp.armeria.common.stream.HttpDecoderInput in, com.linecorp.armeria.common.stream.HttpDecoderOutput<DeframedMessage> out)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.linecorp.armeria.common.stream.HttpDecoder
processHeaders, processInformationalHeaders, processOnComplete, processOnError, processTrailers
-
Field Details
-
NO_MAX_INBOUND_MESSAGE_SIZE
public static final int NO_MAX_INBOUND_MESSAGE_SIZE- See Also:
- Constant Field Values
-
-
Constructor Details
-
ArmeriaMessageDeframer
public ArmeriaMessageDeframer(int maxMessageSizeBytes)Construct anArmeriaMessageDeframerfor reading messages out of a gRPC request or response.
-
-
Method Details
-
process
public void process(com.linecorp.armeria.common.stream.HttpDecoderInput in, com.linecorp.armeria.common.stream.HttpDecoderOutput<DeframedMessage> out) throws Exception- Specified by:
processin interfacecom.linecorp.armeria.common.stream.HttpDecoder<DeframedMessage>- Throws:
Exception
-
decompressor
Sets theDecompressorfor this deframer.
-