Class MessageWriter
- java.lang.Object
-
- java.io.Writer
-
- org.eclipse.jetty.websocket.common.message.MessageWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public class MessageWriter extends java.io.Writer
Support for writing a single WebSocket TEXT message via aWriter
Note: Per WebSocket spec, all WebSocket TEXT messages must be encoded in UTF-8
-
-
Field Summary
Fields Modifier and Type Field Description private BlockingWriteCallback
blocker
private java.nio.ByteBuffer
buffer
private org.eclipse.jetty.io.ByteBufferPool
bufferPool
private WriteCallback
callback
private boolean
closed
private TextFrame
frame
private long
frameCount
private static org.eclipse.jetty.util.log.Logger
LOG
private OutgoingFrames
outgoing
private Utf8CharBuffer
utf
-
Constructor Summary
Constructors Constructor Description MessageWriter(OutgoingFrames outgoing, int bufferSize, org.eclipse.jetty.io.ByteBufferPool bufferPool)
MessageWriter(WebSocketSession session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
flush()
private void
flush(boolean fin)
private void
notifyFailure(java.lang.Throwable failure)
private void
notifySuccess()
private void
send(char[] chars, int offset, int length)
void
setCallback(WriteCallback callback)
void
write(char[] chars, int off, int len)
void
write(int c)
-
-
-
Field Detail
-
LOG
private static final org.eclipse.jetty.util.log.Logger LOG
-
outgoing
private final OutgoingFrames outgoing
-
bufferPool
private final org.eclipse.jetty.io.ByteBufferPool bufferPool
-
blocker
private final BlockingWriteCallback blocker
-
frameCount
private long frameCount
-
frame
private TextFrame frame
-
buffer
private java.nio.ByteBuffer buffer
-
utf
private Utf8CharBuffer utf
-
callback
private WriteCallback callback
-
closed
private boolean closed
-
-
Constructor Detail
-
MessageWriter
public MessageWriter(WebSocketSession session)
-
MessageWriter
public MessageWriter(OutgoingFrames outgoing, int bufferSize, org.eclipse.jetty.io.ByteBufferPool bufferPool)
-
-
Method Detail
-
write
public void write(char[] chars, int off, int len) throws java.io.IOException
- Specified by:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
write
public void write(int c) throws java.io.IOException
- Overrides:
write
in classjava.io.Writer
- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Specified by:
flush
in classjava.io.Writer
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Writer
- Throws:
java.io.IOException
-
flush
private void flush(boolean fin) throws java.io.IOException
- Throws:
java.io.IOException
-
send
private void send(char[] chars, int offset, int length) throws java.io.IOException
- Throws:
java.io.IOException
-
setCallback
public void setCallback(WriteCallback callback)
-
notifySuccess
private void notifySuccess()
-
notifyFailure
private void notifyFailure(java.lang.Throwable failure)
-
-