diff --git a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java index 3bf3d375acd..8d384998285 100644 --- a/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java +++ b/jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/WebSocketSession.java @@ -913,10 +913,12 @@ public class WebSocketSession extends ContainerLifeCycle implements Session, Rem { this.upgradeResponse = response; } - + @Override public SuspendToken suspend() { + // TODO: limit ability to suspend to only when websocket calls application ? + return connection.suspend(); } diff --git a/jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SuspendResumeTest.java b/jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SuspendResumeTest.java index 926b1767e8e..db271493cb1 100644 --- a/jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SuspendResumeTest.java +++ b/jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/SuspendResumeTest.java @@ -115,7 +115,7 @@ public class SuspendResumeTest @Test @Ignore("Not working yet") - public void testSuspendResume() throws Exception + public void testSuspendResume_Bulk() throws Exception { List send = new ArrayList<>(); send.add(new TextFrame().setPayload("echo1")); @@ -154,4 +154,25 @@ public class SuspendResumeTest session.expect(expect); } } + + @Test + @Ignore("Not working yet") + public void testSuspendResume_AsFrames() throws Exception + { + List send = new ArrayList<>(); + send.add(new TextFrame().setPayload("echo1")); + send.add(new TextFrame().setPayload("echo2")); + send.add(new CloseFrame()); + + List expect = new ArrayList<>(); + expect.add(new TextFrame().setPayload("echo1")); + expect.add(new TextFrame().setPayload("echo2")); + expect.add(new CloseFrame()); + + try (LocalFuzzer session = server.newLocalFuzzer()) + { + session.sendFrames(send); + session.expect(expect); + } + } }