@NotThreadSafe public class MessageDeframer extends Object implements Closeable, Deframer
This class is not thread-safe. Unless otherwise stated, all calls to public methods should be made in the deframing thread.
Modifier and Type | Class and Description |
---|---|
static interface |
MessageDeframer.Listener
A listener of deframing events.
|
Constructor and Description |
---|
MessageDeframer(MessageDeframer.Listener listener,
Decompressor decompressor,
int maxMessageSize,
StatsTraceContext statsTraceCtx,
TransportTracer transportTracer)
Create a deframer.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this deframer and frees any resources.
|
void |
closeWhenComplete()
Close when any messages currently queued have been requested and delivered.
|
void |
deframe(ReadableBuffer data)
Adds the given data to this deframer and attempts delivery to the listener.
|
boolean |
isClosed()
Indicates whether or not this deframer has been closed.
|
void |
request(int numMessages)
Requests up to the given number of messages from the call.
|
void |
setDecompressor(Decompressor decompressor)
Sets the decompressor available to use.
|
void |
setFullStreamDecompressor(io.grpc.internal.GzipInflatingBuffer fullStreamDecompressor)
Sets the decompressor used for full-stream decompression.
|
void |
setMaxInboundMessageSize(int messageSize) |
public MessageDeframer(MessageDeframer.Listener listener, Decompressor decompressor, int maxMessageSize, StatsTraceContext statsTraceCtx, TransportTracer transportTracer)
listener
- listener for deframer events.decompressor
- the compression used if a compressed frame is encountered, with
NONE
meaning unsupportedmaxMessageSize
- the maximum allowed size for received messages.public void setMaxInboundMessageSize(int messageSize)
setMaxInboundMessageSize
in interface Deframer
public void setDecompressor(Decompressor decompressor)
Deframer
setDecompressor
in interface Deframer
decompressor
- the decompressing wrapper.public void setFullStreamDecompressor(io.grpc.internal.GzipInflatingBuffer fullStreamDecompressor)
Deframer
Deframer.setDecompressor(io.grpc.Decompressor)
.setFullStreamDecompressor
in interface Deframer
fullStreamDecompressor
- the decompressing wrapperpublic void request(int numMessages)
Deframer
If Deframer.close()
has been called, this method will have no effect.
public void deframe(ReadableBuffer data)
Deframer
public void closeWhenComplete()
Deframer
closeWhenComplete
in interface Deframer
public void close()
Deframer
public boolean isClosed()
Copyright © 2019. All rights reserved.