Skip to content

Instantly share code, notes, and snippets.

@normanmaurer
Created April 23, 2012 09:44
Show Gist options
  • Save normanmaurer/2469917 to your computer and use it in GitHub Desktop.
Save normanmaurer/2469917 to your computer and use it in GitHub Desktop.
diff --git a/src/main/java/org/vertx/java/core/http/impl/DefaultHttpServer.java b/src/main/java/org/vertx/java/core/http/impl/DefaultHttpServer.java
index 6806e19..204b126 100644
--- a/src/main/java/org/vertx/java/core/http/impl/DefaultHttpServer.java
+++ b/src/main/java/org/vertx/java/core/http/impl/DefaultHttpServer.java
@@ -28,6 +28,7 @@ import org.jboss.netty.channel.ChannelState;
import org.jboss.netty.channel.ChannelStateEvent;
import org.jboss.netty.channel.Channels;
import org.jboss.netty.channel.ExceptionEvent;
+import org.jboss.netty.channel.FixedReceiveBufferSizePredictor;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
import org.jboss.netty.channel.group.ChannelGroup;
@@ -164,7 +165,9 @@ public class DefaultHttpServer implements HttpServer {
availableWorkers);
ServerBootstrap bootstrap = new ServerBootstrap(factory);
bootstrap.setOptions(tcpHelper.generateConnectionOptions());
-
+ bootstrap.setOption("child.receiveBufferSize", 1024);
+ bootstrap.setOption("child.receiveBufferSizePredictor", new FixedReceiveBufferSizePredictor(1024));
+ tcpHelper.checkSSL();
tcpHelper.checkSSL();
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
diff --git a/src/main/java/org/vertx/java/core/http/impl/ws/hybi08/WebSocketFrameDecoder08.java b/src/main/java/org/vertx/java/core/http/impl/ws/hybi08/WebSocketFrameDecoder08.java
index 5654ae5..baa8d29 100644
--- a/src/main/java/org/vertx/java/core/http/impl/ws/hybi08/WebSocketFrameDecoder08.java
+++ b/src/main/java/org/vertx/java/core/http/impl/ws/hybi08/WebSocketFrameDecoder08.java
@@ -22,6 +22,7 @@ import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelHandlerContext;
+import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.handler.codec.frame.TooLongFrameException;
import org.jboss.netty.handler.codec.replay.ReplayingDecoder;
import org.jboss.netty.handler.codec.replay.VoidEnum;
@@ -54,9 +55,18 @@ public class WebSocketFrameDecoder08 extends ReplayingDecoder<VoidEnum> {
}
@Override
+public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
+ throws Exception {
+ super.messageReceived(ctx, e);
+// System.out.println(internalBuffer().capacity());
+
+}
+
+@Override
protected Object decode(ChannelHandlerContext ctx, Channel channel, ChannelBuffer buffer, VoidEnum state) throws Exception {
+ System.out.println(internalBuffer().capacity());
- int finOpcode = buffer.readUnsignedByte();
+ int finOpcode = buffer.readUnsignedByte();
boolean fin = ((finOpcode & 0x80) != 0);
int opcode = (finOpcode & 0x0F);
diff --git a/src/tests/java/vertx/tests/core/websockets/WebsocketsTestClient.java b/src/tests/java/vertx/tests/core/websockets/WebsocketsTestClient.java
index f2d3a36..69349ca 100644
--- a/src/tests/java/vertx/tests/core/websockets/WebsocketsTestClient.java
+++ b/src/tests/java/vertx/tests/core/websockets/WebsocketsTestClient.java
@@ -128,7 +128,7 @@ public class WebsocketsTestClient extends TestClientBase {
}).listen(8080, "localhost");
final int bsize = 100;
- final int sends = 10;
+ final int sends = 1000;
client.connectWebsocket(path, version, new Handler<WebSocket>() {
public void handle(final WebSocket ws) {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment