final class WebSocketReader
extends java.lang.Object
This class is not thread safe.
Modifier and Type | Class and Description |
---|---|
static interface |
WebSocketReader.FrameCallback |
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
closed |
private okio.Buffer |
controlFrameBuffer |
(package private) WebSocketReader.FrameCallback |
frameCallback |
(package private) long |
frameLength |
(package private) boolean |
isClient |
(package private) boolean |
isControlFrame |
(package private) boolean |
isFinalFrame |
private okio.Buffer.UnsafeCursor |
maskCursor |
private byte[] |
maskKey |
private okio.Buffer |
messageFrameBuffer |
(package private) int |
opcode |
(package private) okio.BufferedSource |
source |
Constructor and Description |
---|
WebSocketReader(boolean isClient,
okio.BufferedSource source,
WebSocketReader.FrameCallback frameCallback) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
processNextFrame()
Process the next protocol frame.
|
private void |
readControlFrame() |
private void |
readHeader() |
private void |
readMessage()
Reads a message body into across one or more frames.
|
private void |
readMessageFrame() |
private void |
readUntilNonControlFrame()
Read headers and process any control frames until we reach a non-control frame.
|
final boolean isClient
final okio.BufferedSource source
final WebSocketReader.FrameCallback frameCallback
boolean closed
int opcode
long frameLength
boolean isFinalFrame
boolean isControlFrame
private final okio.Buffer controlFrameBuffer
private final okio.Buffer messageFrameBuffer
private final byte[] maskKey
private final okio.Buffer.UnsafeCursor maskCursor
WebSocketReader(boolean isClient, okio.BufferedSource source, WebSocketReader.FrameCallback frameCallback)
void processNextFrame() throws java.io.IOException
WebSocketReader.FrameCallback
.
WebSocketReader.FrameCallback.onReadMessage(java.lang.String)
. If the message spans multiple frames, each interleaved
control frame will result in a corresponding call to WebSocketReader.FrameCallback
.
java.io.IOException
private void readHeader() throws java.io.IOException
java.io.IOException
private void readControlFrame() throws java.io.IOException
java.io.IOException
private void readMessageFrame() throws java.io.IOException
java.io.IOException
private void readUntilNonControlFrame() throws java.io.IOException
java.io.IOException
private void readMessage() throws java.io.IOException
java.io.IOException