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(org.reactivestreams.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, wait
close, close, closeStatus
protected final Log logger
protected AbstractWebSocketSession(T delegate, String id, HandshakeInfo info, DataBufferFactory bufferFactory)
protected T getDelegate()
public String getId()
WebSocketSession
getId
in interface WebSocketSession
public HandshakeInfo getHandshakeInfo()
WebSocketSession
getHandshakeInfo
in interface WebSocketSession
public DataBufferFactory bufferFactory()
WebSocketSession
DataBuffer
Factory to create message payloads.bufferFactory
in interface WebSocketSession
public Map<String,Object> getAttributes()
WebSocketSession
getAttributes
in interface WebSocketSession
null
)protected String getLogPrefix()
public abstract reactor.core.publisher.Flux<WebSocketMessage> receive()
WebSocketSession
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.
receive
in interface WebSocketSession
public abstract reactor.core.publisher.Mono<Void> send(org.reactivestreams.Publisher<WebSocketMessage> messages)
WebSocketSession
Mono<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 WebSocketSession
public WebSocketMessage textMessage(String payload)
WebSocketSession
WebSocketMessage
using the
WebSocketSession.bufferFactory()
for the session.textMessage
in interface WebSocketSession
public WebSocketMessage binaryMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSession
WebSocketSession.bufferFactory()
for the session.binaryMessage
in interface WebSocketSession
public WebSocketMessage pingMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSession
WebSocketSession.bufferFactory()
for the session.pingMessage
in interface WebSocketSession
public WebSocketMessage pongMessage(Function<DataBufferFactory,DataBuffer> payloadFactory)
WebSocketSession
WebSocketSession.bufferFactory()
for the session.pongMessage
in interface WebSocketSession