public class TomcatWebSocketSession extends StandardWebSocketSession
WebSocketSession
adapter for Tomcat's
javax.websocket.Session
.AbstractListenerWebSocketSession.WebSocketSendProcessor
Modifier and Type | Field and Description |
---|---|
private int |
suspended |
private static java.util.concurrent.atomic.AtomicIntegerFieldUpdater<TomcatWebSocketSession> |
SUSPENDED |
Constructor and Description |
---|
TomcatWebSocketSession(Session session,
HandshakeInfo info,
DataBufferFactory factory) |
TomcatWebSocketSession(Session session,
HandshakeInfo info,
DataBufferFactory factory,
<any> completionMono) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
canSuspendReceiving()
Whether the underlying WebSocket API has flow control and can suspend and
resume the receiving of messages.
|
protected void |
resumeReceiving()
Resume receiving new message(s) after demand is generated by the
downstream Subscriber.
|
protected void |
suspendReceiving()
Suspend receiving until received message(s) are processed and more demand
is generated by the downstream Subscriber.
|
close, sendMessage
getSendProcessor, handleClose, handleError, handleMessage, onComplete, onError, onNext, onSubscribe, receive, send
binaryMessage, bufferFactory, getDelegate, getHandshakeInfo, getId, pingMessage, pongMessage, textMessage, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<TomcatWebSocketSession> SUSPENDED
private volatile int suspended
public TomcatWebSocketSession(Session session, HandshakeInfo info, DataBufferFactory factory)
public TomcatWebSocketSession(Session session, HandshakeInfo info, DataBufferFactory factory, <any> completionMono)
protected boolean canSuspendReceiving()
AbstractListenerWebSocketSession
Note: Sub-classes are encouraged to start out in suspended mode, if possible, and wait until demand is received.
canSuspendReceiving
in class StandardWebSocketSession
protected void suspendReceiving()
AbstractListenerWebSocketSession
Note: if the underlying WebSocket API does not provide
flow control for receiving messages, and this method should be a no-op
and AbstractListenerWebSocketSession.canSuspendReceiving()
should return false
.
suspendReceiving
in class StandardWebSocketSession
protected void resumeReceiving()
AbstractListenerWebSocketSession
Note: if the underlying WebSocket API does not provide
flow control for receiving messages, and this method should be a no-op
and AbstractListenerWebSocketSession.canSuspendReceiving()
should return false
.
resumeReceiving
in class StandardWebSocketSession