提交 7651f83b 编写于 作者: R Rossen Stoyanchev

Polish

上级 cbd5af3a
...@@ -48,17 +48,6 @@ import org.springframework.web.socket.sockjs.transport.SockJsServiceConfig; ...@@ -48,17 +48,6 @@ import org.springframework.web.socket.sockjs.transport.SockJsServiceConfig;
*/ */
public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession { public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession {
private final Queue<String> messageCache;
private volatile ServerHttpResponse response;
private volatile ServerHttpAsyncRequestControl asyncRequestControl;
private volatile SockJsFrameFormat frameFormat;
private volatile boolean requestInitialized;
private volatile URI uri; private volatile URI uri;
...@@ -73,6 +62,18 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession { ...@@ -73,6 +62,18 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession {
private volatile String acceptedProtocol; private volatile String acceptedProtocol;
private volatile ServerHttpResponse response;
private volatile ServerHttpAsyncRequestControl asyncRequestControl;
private volatile SockJsFrameFormat frameFormat;
private volatile boolean requestInitialized;
private final Queue<String> messageCache;
public AbstractHttpSockJsSession(String id, SockJsServiceConfig config, public AbstractHttpSockJsSession(String id, SockJsServiceConfig config,
WebSocketHandler wsHandler, Map<String, Object> attributes) { WebSocketHandler wsHandler, Map<String, Object> attributes) {
...@@ -107,9 +108,9 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession { ...@@ -107,9 +108,9 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession {
} }
/** /**
* Unlike WebSocket where sub-protocol negotiation is part of the * Unlike WebSocket where sub-protocol negotiation is part of the initial
* initial handshake, in HTTP transports the same negotiation must * handshake, in HTTP transports the same negotiation must be emulated and
* be emulated and the selected protocol set through this setter. * the selected protocol set through this setter.
* @param protocol the sub-protocol to set * @param protocol the sub-protocol to set
*/ */
public void setAcceptedProtocol(String protocol) { public void setAcceptedProtocol(String protocol) {
...@@ -123,6 +124,30 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession { ...@@ -123,6 +124,30 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession {
return this.acceptedProtocol; return this.acceptedProtocol;
} }
/**
* Return response for the current request, or {@code null} if between requests.
*/
protected ServerHttpResponse getResponse() {
return this.response;
}
/**
* Return the SockJS buffer for messages stored transparently between polling
* requests. If the polling request takes longer than 5 seconds, the session
* will be closed.
*
* @see org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService
*/
protected Queue<String> getMessageCache() {
return this.messageCache;
}
@Override
public boolean isActive() {
ServerHttpAsyncRequestControl control = this.asyncRequestControl;
return (control != null && !control.isCompleted());
}
@Override @Override
public List<WebSocketExtension> getExtensions() { public List<WebSocketExtension> getExtensions() {
return Collections.emptyList(); return Collections.emptyList();
...@@ -246,20 +271,6 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession { ...@@ -246,20 +271,6 @@ public abstract class AbstractHttpSockJsSession extends AbstractSockJsSession {
} }
} }
@Override
public boolean isActive() {
ServerHttpAsyncRequestControl control = this.asyncRequestControl;
return (control != null && !control.isCompleted());
}
protected Queue<String> getMessageCache() {
return this.messageCache;
}
protected ServerHttpResponse getResponse() {
return this.response;
}
@Override @Override
protected final void sendMessageInternal(String message) throws SockJsTransportFailureException { protected final void sendMessageInternal(String message) throws SockJsTransportFailureException {
this.messageCache.add(message); this.messageCache.add(message);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册