This commit is contained in:
@@ -153,7 +153,7 @@ public class Context {
|
|||||||
return bufferPool;
|
return bufferPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Consumer<ByteBuffer> getBufferConsumer() {
|
protected Consumer<ByteBuffer> getBufferConsumer() {
|
||||||
return bufferPool;
|
return bufferPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,11 +161,11 @@ public class Context {
|
|||||||
return bufferPool.get();
|
return bufferPool.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void offerBuffer(ByteBuffer buffer) {
|
protected void offerBuffer(ByteBuffer buffer) {
|
||||||
bufferPool.accept(buffer);
|
bufferPool.accept(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void offerBuffer(ByteBuffer... buffers) {
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
if (buffers == null) return;
|
if (buffers == null) return;
|
||||||
for (ByteBuffer buffer : buffers) {
|
for (ByteBuffer buffer : buffers) {
|
||||||
bufferPool.accept(buffer);
|
bufferPool.accept(buffer);
|
||||||
|
|||||||
@@ -156,6 +156,10 @@ public abstract class Response<C extends Context, R extends Request<C>> {
|
|||||||
return bodyBufferSupplier;
|
return bodyBufferSupplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
|
context.offerBuffer(buffers);
|
||||||
|
}
|
||||||
|
|
||||||
protected AsyncConnection removeChannel() {
|
protected AsyncConnection removeChannel() {
|
||||||
AsyncConnection ch = this.channel;
|
AsyncConnection ch = this.channel;
|
||||||
this.channel = null;
|
this.channel = null;
|
||||||
|
|||||||
@@ -5,10 +5,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.redkale.net.http;
|
package org.redkale.net.http;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
import org.redkale.asm.MethodDebugVisitor;
|
import org.redkale.asm.MethodDebugVisitor;
|
||||||
import java.nio.channels.CompletionHandler;
|
import java.nio.channels.CompletionHandler;
|
||||||
import java.security.*;
|
import java.security.*;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
|
import java.util.function.*;
|
||||||
import org.redkale.asm.*;
|
import org.redkale.asm.*;
|
||||||
import static org.redkale.asm.Opcodes.*;
|
import static org.redkale.asm.Opcodes.*;
|
||||||
import org.redkale.net.*;
|
import org.redkale.net.*;
|
||||||
@@ -47,6 +49,21 @@ public class HttpContext extends Context {
|
|||||||
return responsePool;
|
return responsePool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Consumer<ByteBuffer> getBufferConsumer() {
|
||||||
|
return super.getBufferConsumer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer buffer) {
|
||||||
|
super.offerBuffer(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
|
super.offerBuffer(buffers);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
protected <H extends CompletionHandler> Creator<H> loadAsyncHandlerCreator(Class<H> handlerClass) {
|
protected <H extends CompletionHandler> Creator<H> loadAsyncHandlerCreator(Class<H> handlerClass) {
|
||||||
Creator<H> creator = asyncHandlerCreators.get(handlerClass);
|
Creator<H> creator = asyncHandlerCreators.get(handlerClass);
|
||||||
|
|||||||
@@ -221,6 +221,11 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
|||||||
return this.autoOptions;
|
return this.autoOptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
|
super.offerBuffer(buffers);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 增加Cookie值
|
* 增加Cookie值
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
package org.redkale.net.http;
|
package org.redkale.net.http;
|
||||||
|
|
||||||
import org.redkale.net.AsyncConnection;
|
import org.redkale.net.AsyncConnection;
|
||||||
import org.redkale.net.Context;
|
|
||||||
import static org.redkale.net.http.WebSocket.*;
|
import static org.redkale.net.http.WebSocket.*;
|
||||||
import org.redkale.net.http.WebSocketPacket.FrameType;
|
import org.redkale.net.http.WebSocketPacket.FrameType;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
@@ -34,7 +33,7 @@ class WebSocketRunner implements Runnable {
|
|||||||
|
|
||||||
private final WebSocket webSocket;
|
private final WebSocket webSocket;
|
||||||
|
|
||||||
protected final Context context;
|
protected final HttpContext context;
|
||||||
|
|
||||||
private ByteBuffer readBuffer;
|
private ByteBuffer readBuffer;
|
||||||
|
|
||||||
@@ -50,7 +49,7 @@ class WebSocketRunner implements Runnable {
|
|||||||
|
|
||||||
protected long lastReadTime;
|
protected long lastReadTime;
|
||||||
|
|
||||||
WebSocketRunner(Context context, WebSocket webSocket, BiConsumer<WebSocket, Object> messageConsumer, AsyncConnection channel) {
|
WebSocketRunner(HttpContext context, WebSocket webSocket, BiConsumer<WebSocket, Object> messageConsumer, AsyncConnection channel) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.engine = webSocket._engine;
|
this.engine = webSocket._engine;
|
||||||
this.webSocket = webSocket;
|
this.webSocket = webSocket;
|
||||||
|
|||||||
@@ -5,6 +5,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.redkale.net.sncp;
|
package org.redkale.net.sncp;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.util.function.*;
|
||||||
import org.redkale.net.*;
|
import org.redkale.net.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,6 +21,21 @@ public class SncpContext extends Context {
|
|||||||
super(config);
|
super(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Consumer<ByteBuffer> getBufferConsumer() {
|
||||||
|
return super.getBufferConsumer();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer buffer) {
|
||||||
|
super.offerBuffer(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
|
super.offerBuffer(buffers);
|
||||||
|
}
|
||||||
|
|
||||||
public static class SncpContextConfig extends ContextConfig {
|
public static class SncpContextConfig extends ContextConfig {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,11 @@ public final class SncpResponse extends Response<SncpContext, SncpRequest> {
|
|||||||
if (this.addrBytes.length != 4) throw new RuntimeException("SNCP serverAddress only support IPv4");
|
if (this.addrBytes.length != 4) throw new RuntimeException("SNCP serverAddress only support IPv4");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void offerBuffer(ByteBuffer... buffers) {
|
||||||
|
super.offerBuffer(buffers);
|
||||||
|
}
|
||||||
|
|
||||||
public void finish(final int retcode, final BsonWriter out) {
|
public void finish(final int retcode, final BsonWriter out) {
|
||||||
if (out == null) {
|
if (out == null) {
|
||||||
final ByteBuffer buffer = pollWriteReadBuffer();
|
final ByteBuffer buffer = pollWriteReadBuffer();
|
||||||
|
|||||||
Reference in New Issue
Block a user