public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession
Modifier and Type | Field and Description |
---|---|
private AsyncServerHttpRequest |
asyncRequest |
private SockJsFrame.FrameFormat |
frameFormat |
private java.util.concurrent.BlockingQueue<java.lang.String> |
messageCache |
private ServerHttpResponse |
response |
logger
Constructor and Description |
---|
AbstractHttpSockJsSession(java.lang.String sessionId,
SockJsConfiguration config,
WebSocketHandler handler) |
Modifier and Type | Method and Description |
---|---|
protected void |
disconnect(CloseStatus status) |
protected abstract void |
flushCache()
Only called if the connection is currently active
|
protected java.util.concurrent.BlockingQueue<java.lang.String> |
getMessageCache() |
protected ServerHttpRequest |
getRequest() |
protected ServerHttpResponse |
getResponse() |
boolean |
isActive()
Polling and Streaming sessions periodically close the current HTTP request and
wait for the next request to come through.
|
protected void |
resetRequest() |
protected void |
sendMessageInternal(java.lang.String message) |
void |
setInitialRequest(ServerHttpRequest request,
ServerHttpResponse response,
SockJsFrame.FrameFormat frameFormat) |
void |
setLongPollingRequest(ServerHttpRequest request,
ServerHttpResponse response,
SockJsFrame.FrameFormat frameFormat) |
private void |
tryFlushCache() |
private void |
udpateRequest(ServerHttpRequest request,
ServerHttpResponse response,
SockJsFrame.FrameFormat frameFormat) |
protected void |
writeFrameInternal(SockJsFrame frame) |
protected void |
writePrelude() |
cancelHeartbeat, close, close, delegateConnectionClosed, delegateConnectionEstablished, delegateError, delegateMessages, getId, getPrincipal, getRemoteAddress, getRemoteHostName, getSockJsConfig, getTimeSinceLastActive, getUri, isClosed, isNew, isOpen, isSecure, scheduleHeartbeat, sendHeartbeat, sendMessage, setPrincipal, setRemoteAddress, setRemoteHostName, setUri, toString, tryCloseWithSockJsTransportError, updateLastActiveTime, writeFrame
private SockJsFrame.FrameFormat frameFormat
private final java.util.concurrent.BlockingQueue<java.lang.String> messageCache
private AsyncServerHttpRequest asyncRequest
private ServerHttpResponse response
public AbstractHttpSockJsSession(java.lang.String sessionId, SockJsConfiguration config, WebSocketHandler handler)
public void setInitialRequest(ServerHttpRequest request, ServerHttpResponse response, SockJsFrame.FrameFormat frameFormat) throws TransportErrorException
TransportErrorException
protected void writePrelude() throws java.io.IOException
java.io.IOException
public void setLongPollingRequest(ServerHttpRequest request, ServerHttpResponse response, SockJsFrame.FrameFormat frameFormat) throws TransportErrorException
TransportErrorException
private void udpateRequest(ServerHttpRequest request, ServerHttpResponse response, SockJsFrame.FrameFormat frameFormat)
public boolean isActive()
AbstractSockJsSession
isActive
in class AbstractSockJsSession
protected java.util.concurrent.BlockingQueue<java.lang.String> getMessageCache()
protected ServerHttpRequest getRequest()
protected ServerHttpResponse getResponse()
protected final void sendMessageInternal(java.lang.String message) throws java.io.IOException
sendMessageInternal
in class AbstractSockJsSession
java.io.IOException
private void tryFlushCache() throws java.io.IOException
java.io.IOException
protected abstract void flushCache() throws java.io.IOException
java.io.IOException
protected void disconnect(CloseStatus status)
disconnect
in class AbstractSockJsSession
protected void resetRequest()
protected void writeFrameInternal(SockJsFrame frame) throws java.io.IOException
writeFrameInternal
in class AbstractSockJsSession
java.io.IOException