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
,Netty5WebSocketSessionSupport
,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
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractWebSocketSession
(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 aDataBuffer
Factory to create message payloads.Return the map with attributes associated with the WebSocket session.protected T
Return information from the handshake request.getId()
Return the id for the session.protected String
pingMessage
(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 textWebSocketMessage
using theWebSocketSession.bufferFactory()
for the session.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, close, closeStatus, isOpen
-
Field Details
-
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:WebSocketSession
Return the id for the session.- Specified by:
getId
in interfaceWebSocketSession
-
getHandshakeInfo
Description copied from interface:WebSocketSession
Return information from the handshake request.- Specified by:
getHandshakeInfo
in interfaceWebSocketSession
-
bufferFactory
Description copied from interface:WebSocketSession
Return aDataBuffer
Factory to create message payloads.- Specified by:
bufferFactory
in interfaceWebSocketSession
- Returns:
- the buffer factory for the session
-
getAttributes
Description copied from interface:WebSocketSession
Return the map with attributes associated with the WebSocket session.- Specified by:
getAttributes
in interfaceWebSocketSession
- Returns:
- a Map with the session attributes (never
null
)
-
getLogPrefix
-
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
-
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
-
textMessage
Description copied from interface:WebSocketSession
Factory method to create a textWebSocketMessage
using theWebSocketSession.bufferFactory()
for the session.- Specified by:
textMessage
in interfaceWebSocketSession
-
binaryMessage
Description copied from interface:WebSocketSession
Factory method to create a binary WebSocketMessage using theWebSocketSession.bufferFactory()
for the session.- Specified by:
binaryMessage
in interfaceWebSocketSession
-
pingMessage
Description copied from interface:WebSocketSession
Factory method to create a ping WebSocketMessage using theWebSocketSession.bufferFactory()
for the session.- Specified by:
pingMessage
in interfaceWebSocketSession
-
pongMessage
Description copied from interface:WebSocketSession
Factory method to create a pong WebSocketMessage using theWebSocketSession.bufferFactory()
for the session.- Specified by:
pongMessage
in interfaceWebSocketSession
-
toString
-