From 65cb45308044c4ef0684c99767557e839d81999c Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 3 Aug 2012 08:49:48 -0700 Subject: Attempting to come to terms with EofException condition --- .../org/eclipse/jetty/websocket/io/ControlFrameBytes.java | 6 +++++- .../java/org/eclipse/jetty/websocket/io/DataFrameBytes.java | 1 + .../main/java/org/eclipse/jetty/websocket/io/FrameBytes.java | 11 ++++++++++- .../eclipse/jetty/websocket/io/WebSocketAsyncConnection.java | 1 - 4 files changed, 16 insertions(+), 3 deletions(-) (limited to 'jetty-websocket') diff --git a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/ControlFrameBytes.java b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/ControlFrameBytes.java index 79f0f209b9..f42067df2a 100644 --- a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/ControlFrameBytes.java +++ b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/ControlFrameBytes.java @@ -43,7 +43,11 @@ public class ControlFrameBytes extends FrameBytes if (frame.getOpCode() == OpCode.CLOSE) { // Disconnect the connection (no more packets/frames) - connection.disconnect(true); // FIXME (should only shutdown output here) + connection.disconnect(false); + } + else + { + connection.flush(); } } diff --git a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/DataFrameBytes.java b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/DataFrameBytes.java index 13148f19f2..570ab6ea24 100644 --- a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/DataFrameBytes.java +++ b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/DataFrameBytes.java @@ -53,6 +53,7 @@ public class DataFrameBytes extends FrameBytes { super.completed(context); } + connection.flush(); } @Override diff --git a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/FrameBytes.java b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/FrameBytes.java index 783bd103da..abd0644cf6 100644 --- a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/FrameBytes.java +++ b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/FrameBytes.java @@ -20,6 +20,7 @@ import java.nio.ByteBuffer; import java.nio.channels.InterruptedByTimeoutException; import java.util.concurrent.ScheduledFuture; +import org.eclipse.jetty.io.EofException; import org.eclipse.jetty.util.Callback; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; @@ -67,7 +68,15 @@ public abstract class FrameBytes implements Callback, Runnable @Override public void failed(C context, Throwable x) { - LOG.warn("failed(" + context + ")",x); + if (x instanceof EofException) + { + // Abbreviate the EofException + LOG.warn("failed(" + context + ") - " + EofException.class); + } + else + { + LOG.warn("failed(" + context + ")",x); + } cancelTask(); callback.failed(context,x); } diff --git a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/WebSocketAsyncConnection.java b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/WebSocketAsyncConnection.java index 2cb5c92bc1..ed8ce60876 100644 --- a/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/WebSocketAsyncConnection.java +++ b/jetty-websocket/websocket-core/src/main/java/org/eclipse/jetty/websocket/io/WebSocketAsyncConnection.java @@ -99,7 +99,6 @@ public abstract class WebSocketAsyncConnection extends AbstractAsyncConnection i } flushing = false; } - flush(); } @Override -- cgit v1.2.3