Class JettyWebSocketSession
java.lang.Object
org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
org.springframework.web.reactive.socket.adapter.JettyWebSocketSession
- All Implemented Interfaces:
WebSocketSession
public class JettyWebSocketSession
extends AbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
Spring
WebSocketSession
implementation that adapts to a Jetty
WebSocket Session
.- Since:
- 5.0
- Author:
- Violeta Georgieva, Rossen Stoyanchev
-
Field Summary
Fields inherited from class org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession
logger
-
Constructor Summary
ConstructorDescriptionJettyWebSocketSession
(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory) JettyWebSocketSession
(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory, @Nullable reactor.core.publisher.Sinks.Empty<Void> completionSink) -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>
close
(CloseStatus status) Close the WebSocket session with the given status.reactor.core.publisher.Mono<CloseStatus>
Provides access to theCloseStatus
with which the session is closed either locally or remotely, or completes empty if the session ended without a status.boolean
isOpen()
Whether the underlying connection is open.reactor.core.publisher.Flux<WebSocketMessage>
receive()
Provides access to the stream of inbound messages.reactor.core.publisher.Mono<Void>
send
(Publisher<WebSocketMessage> messages) Give a source of outgoing messages, write the messages and return aMono<Void>
that completes when the source completes and writing is done.protected reactor.core.publisher.Mono<Void>
sendMessage
(WebSocketMessage message) Methods inherited from class org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession
binaryMessage, bufferFactory, getAttributes, getDelegate, getHandshakeInfo, getId, getLogPrefix, pingMessage, pongMessage, textMessage, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.web.reactive.socket.WebSocketSession
close
-
Constructor Details
-
JettyWebSocketSession
public JettyWebSocketSession(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory) -
JettyWebSocketSession
public JettyWebSocketSession(org.eclipse.jetty.websocket.api.Session session, HandshakeInfo info, DataBufferFactory factory, @Nullable reactor.core.publisher.Sinks.Empty<Void> completionSink)
-
-
Method Details
-
isOpen
public boolean isOpen()Description copied from interface:WebSocketSession
Whether the underlying connection is open. -
close
Description copied from interface:WebSocketSession
Close the WebSocket session with the given status.- Parameters:
status
- the close status
-
closeStatus
Description copied from interface:WebSocketSession
Provides access to theCloseStatus
with which the session is closed either locally or remotely, or completes empty if the session ended without a status. -
receive
Description copied from interface:WebSocketSession
Provides access to the stream of inbound messages.This stream receives a completion or error signal when the connection is closed. In a typical
WebSocketHandler
implementation this stream is composed into the overall processing flow, so that when the connection is closed, handling will end.See the class-level doc of
WebSocketHandler
and the reference for more details and examples of how to handle the session.- Specified by:
receive
in interfaceWebSocketSession
- Specified by:
receive
in classAbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
-
send
Description copied from interface:WebSocketSession
Give a source of outgoing messages, write the messages and return aMono<Void>
that completes when the source completes and writing is done.See the class-level doc of
WebSocketHandler
and the reference for more details and examples of how to handle the session.- Specified by:
send
in interfaceWebSocketSession
- Specified by:
send
in classAbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
-
sendMessage
-