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();
}