@NotThreadSafe public class MessageDeframer extends Object implements Closeable
This class is not thread-safe. All calls to public methods should be made in the transport thread.
| Modifier and Type | Class and Description |
|---|---|
static class |
MessageDeframer.Compression |
static interface |
MessageDeframer.Listener
A listener of deframing events.
|
| Constructor and Description |
|---|
MessageDeframer(MessageDeframer.Listener listener)
Creates a deframer.
|
MessageDeframer(MessageDeframer.Listener listener,
MessageDeframer.Compression compression)
Create a deframer.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this deframer and frees any resources.
|
void |
deframe(ReadableBuffer data,
boolean endOfStream)
Adds the given data to this deframer and attempts delivery to the sink.
|
boolean |
isClosed()
Indicates whether or not this deframer has been closed.
|
boolean |
isStalled()
Indicates whether delivery is currently stalled, pending receipt of more data.
|
void |
request(int numMessages)
Requests up to the given number of messages from the call to be delivered to
MessageDeframer.Listener.messageRead(InputStream). |
public MessageDeframer(MessageDeframer.Listener listener)
listener - listener for deframer events.public MessageDeframer(MessageDeframer.Listener listener, MessageDeframer.Compression compression)
listener - listener for deframer events.compression - the compression used if a compressed frame is encountered, with NONE
meaning unsupportedpublic void request(int numMessages)
MessageDeframer.Listener.messageRead(InputStream). No additional messages will be delivered.
If close() has been called, this method will have no effect.
numMessages - the requested number of messages to be delivered to the listener.public void deframe(ReadableBuffer data, boolean endOfStream)
data - the raw data read from the remote endpoint. Must be non-null.endOfStream - if true, indicates that data is the end of the stream from
the remote endpoint.IllegalStateException - if close() has been called previously or if
deframe(ReadableBuffer, boolean) has previously been called with
endOfStream=true.public boolean isStalled()
public void close()
close in interface Closeableclose in interface AutoCloseablepublic boolean isClosed()