Class AbstractWebSocketSession<T>
java.lang.Object
org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<T>
- Type Parameters:
T- the native delegate type
- All Implemented Interfaces:
WebSocketSession
- Direct Known Subclasses:
AbstractListenerWebSocketSession, JettyWebSocketSession, NettyWebSocketSessionSupport
Convenient base class for
WebSocketSession implementations that
holds common fields and exposes accessors. Also implements the
WebSocketMessage factory methods.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractWebSocketSession(T delegate, String id, HandshakeInfo info, DataBufferFactory bufferFactory) Create a new WebSocket session. -
Method Summary
Modifier and TypeMethodDescriptionbinaryMessage(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a binary WebSocketMessage using theWebSocketSession.bufferFactory()for the session.Return aDataBufferFactory to create message payloads.Return the map with attributes associated with the WebSocket session.protected TReturn information from the handshake request.getId()Return the id for the session.protected StringpingMessage(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a ping WebSocketMessage using theWebSocketSession.bufferFactory()for the session.pongMessage(Function<DataBufferFactory, DataBuffer> payloadFactory) Factory method to create a pong WebSocketMessage using theWebSocketSession.bufferFactory()for the session.abstract reactor.core.publisher.Flux<WebSocketMessage> receive()Provides access to the stream of inbound messages.abstract 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.textMessage(String payload) Factory method to create a textWebSocketMessageusing theWebSocketSession.bufferFactory()for the session.toString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface WebSocketSession
close, close, closeStatus, isOpen
-
Field Details
-
logger
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
AbstractWebSocketSession
protected AbstractWebSocketSession(T delegate, String id, HandshakeInfo info, DataBufferFactory bufferFactory) Create a new WebSocket session.
-
-
Method Details
-
getDelegate
-
getId
Description copied from interface:WebSocketSessionReturn the id for the session.- Specified by:
getIdin interfaceWebSocketSession
-
getHandshakeInfo
Description copied from interface:WebSocketSessionReturn information from the handshake request.- Specified by:
getHandshakeInfoin interfaceWebSocketSession
-
bufferFactory
Description copied from interface:WebSocketSessionReturn aDataBufferFactory to create message payloads.- Specified by:
bufferFactoryin interfaceWebSocketSession- Returns:
- the buffer factory for the session
-
getAttributes
Description copied from interface:WebSocketSessionReturn the map with attributes associated with the WebSocket session.- Specified by:
getAttributesin interfaceWebSocketSession- Returns:
- a Map with the session attributes (never
null)
-
getLogPrefix
-
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
-
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
-
textMessage
Description copied from interface:WebSocketSessionFactory method to create a textWebSocketMessageusing theWebSocketSession.bufferFactory()for the session.- Specified by:
textMessagein interfaceWebSocketSession
-
binaryMessage
Description copied from interface:WebSocketSessionFactory method to create a binary WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
binaryMessagein interfaceWebSocketSession
-
pingMessage
Description copied from interface:WebSocketSessionFactory method to create a ping WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
pingMessagein interfaceWebSocketSession
-
pongMessage
Description copied from interface:WebSocketSessionFactory method to create a pong WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
pongMessagein interfaceWebSocketSession
-
toString
-