Class MessageInputStream
- java.lang.Object
-
- java.io.InputStream
-
- org.eclipse.jetty.websocket.common.message.MessageInputStream
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,MessageAppender
public class MessageInputStream extends java.io.InputStream implements MessageAppender
Support class for reading a (single) WebSocket BINARY message via a InputStream.An InputStream that can access a queue of ByteBuffer payloads, along with expected InputStream blocking behavior.
-
-
Constructor Summary
Constructors Constructor Description MessageInputStream(Session session)
MessageInputStream(Session session, int timeoutMs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendFrame(java.nio.ByteBuffer framePayload, boolean fin)
Append the frame payload to the message.void
close()
void
handlerComplete()
void
mark(int readlimit)
boolean
markSupported()
void
messageComplete()
Notification that message is to be considered complete.int
read()
int
read(byte[] b, int off, int len)
void
reset()
-
-
-
Method Detail
-
appendFrame
public void appendFrame(java.nio.ByteBuffer framePayload, boolean fin) throws java.io.IOException
Description copied from interface:MessageAppender
Append the frame payload to the message.- Specified by:
appendFrame
in interfaceMessageAppender
- Parameters:
framePayload
- the frame payload to append.fin
- flag indicating if this is the last part of the message or not.- Throws:
java.io.IOException
- if unable to append the frame payload
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.InputStream
-
handlerComplete
public void handlerComplete()
-
read
public int read() throws java.io.IOException
- Specified by:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
read
in classjava.io.InputStream
- Throws:
java.io.IOException
-
messageComplete
public void messageComplete()
Description copied from interface:MessageAppender
Notification that message is to be considered complete.Any cleanup or final actions should be taken here.
- Specified by:
messageComplete
in interfaceMessageAppender
-
reset
public void reset() throws java.io.IOException
- Overrides:
reset
in classjava.io.InputStream
- Throws:
java.io.IOException
-
mark
public void mark(int readlimit)
- Overrides:
mark
in classjava.io.InputStream
-
markSupported
public boolean markSupported()
- Overrides:
markSupported
in classjava.io.InputStream
-
-