T - the native delegate typepublic abstract class AbstractWebSocketSession<T> extends Object implements WebSocketSession
WebSocketSession implementations that
holds common fields and exposes accessors. Also implements the
WebSocketMessage factory methods.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractWebSocketSession(T delegate,
String id,
HandshakeInfo info,
DataBufferFactory bufferFactory)
Create a new WebSocket session.
|
| Modifier and Type | Method and Description |
|---|---|
WebSocketMessage |
binaryMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
Factory method to create a binary WebSocketMessage using the
WebSocketSession.bufferFactory() for the session. |
DataBufferFactory |
bufferFactory()
Return a
DataBuffer Factory to create message payloads. |
Map<String,Object> |
getAttributes()
Return the map with attributes associated with the WebSocket session.
|
protected T |
getDelegate() |
HandshakeInfo |
getHandshakeInfo()
Return information from the handshake request.
|
String |
getId()
Return the id for the session.
|
protected String |
getLogPrefix() |
WebSocketMessage |
pingMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
Factory method to create a ping WebSocketMessage using the
WebSocketSession.bufferFactory() for the session. |
WebSocketMessage |
pongMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
Factory method to create a pong WebSocketMessage using the
WebSocketSession.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 a
Mono<Void> that completes when the source completes and writing
is done. |
WebSocketMessage |
textMessage(String payload)
Factory method to create a text
WebSocketMessage using the
WebSocketSession.bufferFactory() for the session. |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitclose, close, closeStatus, isOpenprotected final Log logger
protected AbstractWebSocketSession(T delegate, String id, HandshakeInfo info, DataBufferFactory bufferFactory)
protected T getDelegate()
public String getId()
WebSocketSessiongetId in interface WebSocketSessionpublic HandshakeInfo getHandshakeInfo()
WebSocketSessiongetHandshakeInfo in interface WebSocketSessionpublic DataBufferFactory bufferFactory()
WebSocketSessionDataBuffer Factory to create message payloads.bufferFactory in interface WebSocketSessionpublic Map<String,Object> getAttributes()
WebSocketSessiongetAttributes in interface WebSocketSessionnull)protected String getLogPrefix()
public abstract reactor.core.publisher.Flux<WebSocketMessage> receive()
WebSocketSessionThis 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.
receive in interface WebSocketSessionpublic abstract reactor.core.publisher.Mono<Void> send(Publisher<WebSocketMessage> messages)
WebSocketSessionMono<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.
send in interface WebSocketSessionpublic WebSocketMessage textMessage(String payload)
WebSocketSessionWebSocketMessage using the
WebSocketSession.bufferFactory() for the session.textMessage in interface WebSocketSessionpublic WebSocketMessage binaryMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSessionWebSocketSession.bufferFactory() for the session.binaryMessage in interface WebSocketSessionpublic WebSocketMessage pingMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSessionWebSocketSession.bufferFactory() for the session.pingMessage in interface WebSocketSessionpublic WebSocketMessage pongMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSessionWebSocketSession.bufferFactory() for the session.pongMessage in interface WebSocketSession