Class ByteBufferMessageSink

java.lang.Object
org.eclipse.jetty.websocket.core.messages.AbstractMessageSink
org.eclipse.jetty.websocket.core.messages.ByteBufferMessageSink
All Implemented Interfaces:
MessageSink
Direct Known Subclasses:
ByteBufferMessageSink

public class ByteBufferMessageSink extends AbstractMessageSink

A MessageSink implementation that accumulates BINARY frames into a message that is then delivered to the application function passed to the constructor in the form of a ByteBuffer.

  • Constructor Details

    • ByteBufferMessageSink

      public ByteBufferMessageSink(CoreSession session, MethodHandle methodHandle, boolean autoDemand)
      Creates a new ByteBufferMessageSink.
      Parameters:
      session - the WebSocket session
      methodHandle - the application function to invoke when a new message has been assembled
      autoDemand - whether this MessageSink manages demand automatically
    • ByteBufferMessageSink

      protected ByteBufferMessageSink(CoreSession session, MethodHandle methodHandle, boolean autoDemand, boolean validateSignature)
  • Method Details

    • 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().

      Parameters:
      frame - the frame to consume
      callback - the callback to complete when the frame is consumed
    • fail

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

      Fails this MessageSink with the given cause.

      Parameters:
      failure - the cause of the failure
    • invoke

      protected void invoke(MethodHandle methodHandle, ByteBuffer byteBuffer, Callback callback) throws Throwable
      Throws:
      Throwable