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 AbstractWebSocketSession
logger -
Constructor Summary
ConstructorsConstructorDescriptionJettyWebSocketSession(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 theCloseStatuswith which the session is closed either locally or remotely, or completes empty if the session ended without a status.booleanisOpen()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 AbstractWebSocketSession
binaryMessage, bufferFactory, getAttributes, getDelegate, getHandshakeInfo, getId, getLogPrefix, pingMessage, pongMessage, textMessage, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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:WebSocketSessionWhether the underlying connection is open. -
close
Description copied from interface:WebSocketSessionClose the WebSocket session with the given status.- Parameters:
status- the close status
-
closeStatus
Description copied from interface:WebSocketSessionProvides access to theCloseStatuswith which the session is closed either locally or remotely, or completes empty if the session ended without a status. -
receive
Description copied from interface:WebSocketSessionProvides access to the stream of inbound messages.This stream receives a completion or error signal when the connection is closed. In a typical
WebSocketHandlerimplementation 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
WebSocketHandlerand the reference for more details and examples of how to handle the session.- Specified by:
receivein interfaceWebSocketSession- Specified by:
receivein classAbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
-
send
Description copied from interface:WebSocketSessionGive 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
WebSocketHandlerand the reference for more details and examples of how to handle the session.- Specified by:
sendin interfaceWebSocketSession- Specified by:
sendin classAbstractWebSocketSession<org.eclipse.jetty.websocket.api.Session>
-
sendMessage
-