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