Top Description Fields Constructors Methods
org.eclipse.jetty.websocket.core.messages

public Class StringMessageSink

extends AbstractMessageSink
Class Inheritance
Imports
java.lang.invoke.MethodHandle, org.eclipse.jetty.util.Callback, .Utf8StringBuilder, org.eclipse.jetty.websocket.core.CoreSession, .Frame, org.eclipse.jetty.websocket.core.exception.BadPayloadException, .MessageTooLargeException

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

Field Summary

Modifier and TypeField and Description
private Utf8StringBuilder
private int

Constructor Summary

AccessConstructor and Description
public
StringMessageSink(CoreSession
the WebSocket session
session
,
MethodHandle
the application function to invoke when a new message has been assembled
methodHandle
,
boolean
whether this MessageSink manages demand automatically
autoDemand
)

Creates a new StringMessageSink.

Method Summary

Modifier and TypeMethod and Description
public void
accept(Frame
the frame to consume
frame
,
Callback
the callback to complete when the frame is consumed
callback
)

Implements org.eclipse.jetty.websocket.core.messages.MessageSink.accept.

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

public void
fail(Throwable
the cause of the failure
failure
)

Overrides default org.eclipse.jetty.websocket.core.messages.MessageSink.fail.

Fails this MessageSink with the given cause.

private void
Inherited from org.eclipse.jetty.websocket.core.messages.AbstractMessageSink:
autoDemandgetCoreSessiongetMethodHandleisAutoDemand

Field Detail

outback to summary
private Utf8StringBuilder out
sizeback to summary
private int size

Constructor Detail

StringMessageSinkback to summary
public StringMessageSink(CoreSession session, MethodHandle methodHandle, boolean autoDemand)

Creates a new StringMessageSink.

Parameters
session:CoreSession

the WebSocket session

methodHandle:MethodHandle

the application function to invoke when a new message has been assembled

autoDemand:boolean

whether this MessageSink manages demand automatically

Method Detail

acceptback to summary
public void accept(Frame frame, Callback callback)

Implements org.eclipse.jetty.websocket.core.messages.MessageSink.accept.

Doc from org.eclipse.jetty.websocket.core.messages.MessageSink.accept.

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:Frame

the frame to consume

callback:Callback

the callback to complete when the frame is consumed

Annotations
@Override
failback to summary
public void fail(Throwable failure)

Overrides default org.eclipse.jetty.websocket.core.messages.MessageSink.fail.

Doc from org.eclipse.jetty.websocket.core.messages.MessageSink.fail.

Fails this MessageSink with the given cause.

Parameters
failure:Throwable

the cause of the failure

Annotations
@Override
resetback to summary
private void reset()