Class MessageReader

java.lang.Object
java.io.Reader
org.eclipse.jetty.websocket.core.messages.MessageReader
All Implemented Interfaces:
Closeable, AutoCloseable, Readable, MessageSink

public class MessageReader extends Reader implements MessageSink
Support class for reading a (single) WebSocket TEXT message via a Reader.

In compliance to the WebSocket spec, this reader always uses the StandardCharsets.UTF_8.

  • Constructor Details

    • MessageReader

      public MessageReader(CoreSession coreSession)
  • Method Details

    • read

      public int read(char[] chars, int off, int len) throws IOException
      Specified by:
      read in class Reader
      Throws:
      IOException
    • fail

      public void fail(Throwable failure)
      Description copied from interface: MessageSink

      Fails this MessageSink with the given cause.

      Specified by:
      fail in interface MessageSink
      Parameters:
      failure - the cause of the failure
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in class Reader
      Throws:
      IOException
    • accept

      public void accept(Frame frame, Callback callback)
      Description copied from interface: MessageSink

      Consumes the WebSocket frame, possibly asynchronously when this method has returned.

      The callback argument must be completed when the frame payload is consumed.

      The demand for more frames must be explicitly invoked, or arranged to be invoked asynchronously, by the implementation of this method, by calling CoreSession.demand().

      Specified by:
      accept in interface MessageSink
      Parameters:
      frame - the frame to consume
      callback - the callback to complete when the frame is consumed