Package io.grpc.internal
Class SquelchLateMessagesAvailableDeframerListener
java.lang.Object
io.grpc.internal.ForwardingDeframerListener
io.grpc.internal.SquelchLateMessagesAvailableDeframerListener
- All Implemented Interfaces:
MessageDeframer.Listener
A delegating Listener that throws away notifications of messagesAvailable() after the deframer
has closed or failed. This can be used by deframers that "abuse" the MessageProducer to run work
on the app thread, to avoid breaking the normal invariant that there are no messages after
deframing is complete. Since the producer may not be run, it must not hold resources or
it should implement
Closeable.-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionvoiddeframeFailed(Throwable cause) Called when aMessageDeframer.deframe(ReadableBuffer)operation failed.voiddeframerClosed(boolean hasPartialMessage) Called when the deframer closes.protected MessageDeframer.Listenerdelegate()voidCalled to deliver the next complete message.Methods inherited from class io.grpc.internal.ForwardingDeframerListener
bytesRead
-
Field Details
-
delegate
-
closed
private boolean closed
-
-
Constructor Details
-
SquelchLateMessagesAvailableDeframerListener
-
-
Method Details
-
delegate
- Specified by:
delegatein classForwardingDeframerListener
-
messagesAvailable
Description copied from interface:MessageDeframer.ListenerCalled to deliver the next complete message.- Specified by:
messagesAvailablein interfaceMessageDeframer.Listener- Overrides:
messagesAvailablein classForwardingDeframerListener- Parameters:
producer- single message producer wrapping the message.
-
deframerClosed
public void deframerClosed(boolean hasPartialMessage) Description copied from interface:MessageDeframer.ListenerCalled when the deframer closes.- Specified by:
deframerClosedin interfaceMessageDeframer.Listener- Overrides:
deframerClosedin classForwardingDeframerListener- Parameters:
hasPartialMessage- whether the deframer contained an incomplete message at closing.
-
deframeFailed
Description copied from interface:MessageDeframer.ListenerCalled when aMessageDeframer.deframe(ReadableBuffer)operation failed.- Specified by:
deframeFailedin interfaceMessageDeframer.Listener- Overrides:
deframeFailedin classForwardingDeframerListener- Parameters:
cause- the actual failure
-