public class UndertowWebSocketSession extends AbstractListenerWebSocketSession<io.undertow.websockets.core.WebSocketChannel>
WebSocketSession implementation that adapts to an Undertow
WebSocketChannel.AbstractListenerWebSocketSession.WebSocketSendProcessorlogger| Constructor and Description |
|---|
UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel,
HandshakeInfo info,
DataBufferFactory factory) |
UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel,
HandshakeInfo info,
DataBufferFactory factory,
reactor.core.publisher.MonoProcessor<Void> completionMono)
Deprecated.
|
UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel,
HandshakeInfo info,
DataBufferFactory factory,
reactor.core.publisher.Sinks.Empty<Void> completionSink) |
| 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.
|
reactor.core.publisher.Mono<Void> |
close(CloseStatus status)
Close the WebSocket session with the given status.
|
boolean |
isOpen()
Whether the underlying connection is open.
|
protected void |
resumeReceiving()
Resume receiving new message(s) after demand is generated by the
downstream Subscriber.
|
protected boolean |
sendMessage(WebSocketMessage message)
Send the given WebSocket message.
|
protected void |
suspendReceiving()
Suspend receiving until received message(s) are processed and more demand
is generated by the downstream Subscriber.
|
closeStatus, getSendProcessor, onComplete, onError, onNext, onSubscribe, receive, sendbinaryMessage, bufferFactory, getAttributes, getDelegate, getHandshakeInfo, getId, getLogPrefix, pingMessage, pongMessage, textMessage, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitclosepublic UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel,
HandshakeInfo info,
DataBufferFactory factory)
public UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel,
HandshakeInfo info,
DataBufferFactory factory,
@Nullable
reactor.core.publisher.Sinks.Empty<Void> completionSink)
@Deprecated public UndertowWebSocketSession(io.undertow.websockets.core.WebSocketChannel channel, HandshakeInfo info, DataBufferFactory factory, @Nullable reactor.core.publisher.MonoProcessor<Void> completionMono)
protected boolean canSuspendReceiving()
AbstractListenerWebSocketSessionNote: Sub-classes are encouraged to start out in suspended mode, if possible, and wait until demand is received.
canSuspendReceiving in class AbstractListenerWebSocketSession<io.undertow.websockets.core.WebSocketChannel>protected void suspendReceiving()
AbstractListenerWebSocketSessionNote: if the underlying WebSocket API does not provide
flow control for receiving messages, this method should be a no-op
and AbstractListenerWebSocketSession.canSuspendReceiving() should return false.
suspendReceiving in class AbstractListenerWebSocketSession<io.undertow.websockets.core.WebSocketChannel>protected void resumeReceiving()
AbstractListenerWebSocketSessionNote: if the underlying WebSocket API does not provide
flow control for receiving messages, this method should be a no-op
and AbstractListenerWebSocketSession.canSuspendReceiving() should return false.
resumeReceiving in class AbstractListenerWebSocketSession<io.undertow.websockets.core.WebSocketChannel>protected boolean sendMessage(WebSocketMessage message) throws IOException
AbstractListenerWebSocketSessionNote: Sub-classes are responsible for releasing the payload data buffer, once fully written, if pooled buffers apply to the underlying container.
sendMessage in class AbstractListenerWebSocketSession<io.undertow.websockets.core.WebSocketChannel>IOExceptionpublic boolean isOpen()
WebSocketSessionpublic reactor.core.publisher.Mono<Void> close(CloseStatus status)
WebSocketSessionstatus - the close status