Java源码示例:org.springframework.web.socket.sockjs.frame.SockJsMessageCodec
示例1
@Override
protected void flushCache() throws SockJsTransportFailureException {
while (!getMessageCache().isEmpty()) {
String message = getMessageCache().poll();
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, message);
writeFrame(frame);
this.byteCount += (frame.getContentBytes().length + 1);
if (logger.isTraceEnabled()) {
logger.trace(this.byteCount + " bytes written so far, " +
getMessageCache().size() + " more messages not flushed");
}
if (this.byteCount >= getSockJsServiceConfig().getStreamBytesLimit()) {
logger.trace("Streamed bytes limit reached, recycling current request");
resetRequest();
this.byteCount = 0;
break;
}
}
scheduleHeartbeat();
}
示例2
@Override
protected void flushCache() throws SockJsTransportFailureException {
while (!getMessageCache().isEmpty()) {
String message = getMessageCache().poll();
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, message);
writeFrame(frame);
this.byteCount += (frame.getContentBytes().length + 1);
if (logger.isTraceEnabled()) {
logger.trace(this.byteCount + " bytes written so far, " +
getMessageCache().size() + " more messages not flushed");
}
if (this.byteCount >= getSockJsServiceConfig().getStreamBytesLimit()) {
logger.trace("Streamed bytes limit reached, recycling current request");
resetRequest();
this.byteCount = 0;
break;
}
}
scheduleHeartbeat();
}
示例3
@Override
protected void flushCache() throws SockJsTransportFailureException {
while (!getMessageCache().isEmpty()) {
String message = getMessageCache().poll();
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, message);
writeFrame(frame);
this.byteCount += (frame.getContentBytes().length + 1);
if (logger.isTraceEnabled()) {
logger.trace(this.byteCount + " bytes written so far, " +
getMessageCache().size() + " more messages not flushed");
}
if (this.byteCount >= getSockJsServiceConfig().getStreamBytesLimit()) {
logger.trace("Streamed bytes limit reached, recycling current request");
resetRequest();
this.byteCount = 0;
break;
}
}
scheduleHeartbeat();
}
示例4
public DefaultTransportRequest(SockJsUrlInfo sockJsUrlInfo,
@Nullable HttpHeaders handshakeHeaders, @Nullable HttpHeaders httpRequestHeaders,
Transport transport, TransportType serverTransportType, SockJsMessageCodec codec) {
Assert.notNull(sockJsUrlInfo, "SockJsUrlInfo is required");
Assert.notNull(transport, "Transport is required");
Assert.notNull(serverTransportType, "TransportType is required");
Assert.notNull(codec, "SockJsMessageCodec is required");
this.sockJsUrlInfo = sockJsUrlInfo;
this.handshakeHeaders = (handshakeHeaders != null ? handshakeHeaders : new HttpHeaders());
this.httpRequestHeaders = (httpRequestHeaders != null ? httpRequestHeaders : new HttpHeaders());
this.transport = transport;
this.serverTransportType = serverTransportType;
this.codec = codec;
}
示例5
@Override
protected void flushCache() throws SockJsTransportFailureException {
String[] messages = new String[getMessageCache().size()];
for (int i = 0; i < messages.length; i++) {
messages[i] = getMessageCache().poll();
}
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, messages);
writeFrame(frame);
}
示例6
public DefaultTransportRequest(SockJsUrlInfo sockJsUrlInfo,
@Nullable HttpHeaders handshakeHeaders, @Nullable HttpHeaders httpRequestHeaders,
Transport transport, TransportType serverTransportType, SockJsMessageCodec codec) {
Assert.notNull(sockJsUrlInfo, "SockJsUrlInfo is required");
Assert.notNull(transport, "Transport is required");
Assert.notNull(serverTransportType, "TransportType is required");
Assert.notNull(codec, "SockJsMessageCodec is required");
this.sockJsUrlInfo = sockJsUrlInfo;
this.handshakeHeaders = (handshakeHeaders != null ? handshakeHeaders : new HttpHeaders());
this.httpRequestHeaders = (httpRequestHeaders != null ? httpRequestHeaders : new HttpHeaders());
this.transport = transport;
this.serverTransportType = serverTransportType;
this.codec = codec;
}
示例7
@Override
protected void flushCache() throws SockJsTransportFailureException {
String[] messages = new String[getMessageCache().size()];
for (int i = 0; i < messages.length; i++) {
messages[i] = getMessageCache().poll();
}
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, messages);
writeFrame(frame);
}
示例8
public DefaultTransportRequest(SockJsUrlInfo sockJsUrlInfo,
HttpHeaders handshakeHeaders, HttpHeaders httpRequestHeaders,
Transport transport, TransportType serverTransportType, SockJsMessageCodec codec) {
Assert.notNull(sockJsUrlInfo, "SockJsUrlInfo is required");
Assert.notNull(transport, "Transport is required");
Assert.notNull(serverTransportType, "TransportType is required");
Assert.notNull(codec, "SockJsMessageCodec is required");
this.sockJsUrlInfo = sockJsUrlInfo;
this.handshakeHeaders = (handshakeHeaders != null ? handshakeHeaders : new HttpHeaders());
this.httpRequestHeaders = (httpRequestHeaders != null ? httpRequestHeaders : new HttpHeaders());
this.transport = transport;
this.serverTransportType = serverTransportType;
this.codec = codec;
}
示例9
@Override
protected void flushCache() throws SockJsTransportFailureException {
String[] messages = new String[getMessageCache().size()];
for (int i = 0; i < messages.length; i++) {
messages[i] = getMessageCache().poll();
}
SockJsMessageCodec messageCodec = getSockJsServiceConfig().getMessageCodec();
SockJsFrame frame = SockJsFrame.messageFrame(messageCodec, messages);
writeFrame(frame);
resetRequest();
}
示例10
@Override
protected String[] readMessages(ServerHttpRequest request) throws IOException {
SockJsMessageCodec messageCodec = getServiceConfig().getMessageCodec();
MediaType contentType = request.getHeaders().getContentType();
if (contentType != null && MediaType.APPLICATION_FORM_URLENCODED.isCompatibleWith(contentType)) {
MultiValueMap<String, String> map = this.formConverter.read(null, request);
String d = map.getFirst("d");
return (StringUtils.hasText(d) ? messageCodec.decode(d) : null);
}
else {
return messageCodec.decodeInputStream(request.getBody());
}
}
示例11
public SockJsMessageCodec getMessageCodec() {
return this.request.getMessageCodec();
}
示例12
/**
* Return the SockJsMessageCodec to use.
*/
public SockJsMessageCodec getMessageCodec() {
Assert.state(this.messageCodec != null, "No SockJsMessageCodec set");
return this.messageCodec;
}
示例13
@Override
public SockJsMessageCodec getMessageCodec() {
return this.codec;
}
示例14
protected SockJsMessageCodec getMessageCodec() {
return this.config.getMessageCodec();
}
示例15
/**
* The codec to use for encoding and decoding SockJS messages.
*/
public void setMessageCodec(SockJsMessageCodec messageCodec) {
this.messageCodec = messageCodec;
}
示例16
public SockJsMessageCodec getMessageCodec() {
Assert.state(this.messageCodec != null, "A SockJsMessageCodec is required but not available: " +
"Add Jackson to the classpath, or configure a custom SockJsMessageCodec.");
return this.messageCodec;
}
示例17
@Override
public SockJsMessageCodec getMessageCodec() {
return this.messageCodec;
}
示例18
public void setMessageCodec(SockJsMessageCodec messageCodec) {
this.messageCodec = messageCodec;
}
示例19
public SockJsMessageCodec getMessageCodec() {
return this.request.getMessageCodec();
}
示例20
/**
* Return the SockJsMessageCodec to use.
*/
public SockJsMessageCodec getMessageCodec() {
Assert.state(this.messageCodec != null, "No SockJsMessageCodec set");
return this.messageCodec;
}
示例21
@Override
public SockJsMessageCodec getMessageCodec() {
return this.codec;
}
示例22
protected SockJsMessageCodec getMessageCodec() {
return this.config.getMessageCodec();
}
示例23
/**
* The codec to use for encoding and decoding SockJS messages.
*/
public void setMessageCodec(SockJsMessageCodec messageCodec) {
this.messageCodec = messageCodec;
}
示例24
public SockJsMessageCodec getMessageCodec() {
Assert.state(this.messageCodec != null, "A SockJsMessageCodec is required but not available: " +
"Add Jackson to the classpath, or configure a custom SockJsMessageCodec.");
return this.messageCodec;
}
示例25
@Override
public SockJsMessageCodec getMessageCodec() {
return this.messageCodec;
}
示例26
public void setMessageCodec(SockJsMessageCodec messageCodec) {
this.messageCodec = messageCodec;
}
示例27
public SockJsMessageCodec getMessageCodec() {
return this.request.getMessageCodec();
}
示例28
/**
* Return the SockJsMessageCodec to use.
*/
public SockJsMessageCodec getMessageCodec() {
return this.messageCodec;
}
示例29
@Override
public SockJsMessageCodec getMessageCodec() {
return this.codec;
}
示例30
protected SockJsMessageCodec getMessageCodec() {
return this.config.getMessageCodec();
}