summaryrefslogtreecommitdiffstats
path: root/simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java')
-rw-r--r--simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java b/simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java
new file mode 100644
index 0000000..d099f27
--- /dev/null
+++ b/simple/simple-http/src/test/java/org/simpleframework/http/socket/table/WebSocketTableListener.java
@@ -0,0 +1,69 @@
+package org.simpleframework.http.socket.table;
+
+import org.simpleframework.http.socket.Frame;
+import org.simpleframework.http.socket.FrameListener;
+import org.simpleframework.http.socket.FrameType;
+import org.simpleframework.http.socket.Reason;
+import org.simpleframework.http.socket.Session;
+
+public class WebSocketTableListener implements FrameListener {
+
+ private final WebSocketTableUpdater updater;
+
+ public WebSocketTableListener(WebSocketTableUpdater updater) {
+ this.updater = updater;
+ }
+
+ public void onFrame(Session socket, Frame frame) {
+ FrameType type = frame.getType();
+
+ if(type != FrameType.PONG && type != FrameType.PING) {
+
+ if(type == FrameType.TEXT) {
+ String text = frame.getText();
+ String[] command = text.split(":");
+ String operation = command[0];
+ String parameters = command[1];
+ String[] values = parameters.split(",");
+
+ if(values.length > 0) {
+ for(String value : values) {
+ String[] pair = value.split("=");
+
+ if(operation.equals("refresh")) {
+ updater.refresh(socket);
+ }else if(operation.equals("status")) {
+ System.err.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + value);
+
+ if(pair[0].equals("sequence")) {
+ if(pair[1].indexOf("@") != -1) {
+ String time = pair[1].split("@")[1];
+ Long sent = Long.parseLong(time);
+
+ System.err.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> TIME RTT: " + (System.currentTimeMillis() - sent));
+ }
+ }
+ }
+ }
+ }
+ }
+ System.err.println("onFrame(");
+ System.err.println(frame.getText());
+ System.err.println(")");
+ }
+ }
+
+ public void onError(Session socket, Exception cause) {
+ System.err.println("onError(");
+ cause.printStackTrace();
+ System.err.println(")");
+ }
+
+ public void onOpen(Session socket) {
+ System.err.println("onOpen(" + socket +")");
+ }
+
+ public void onClose(Session session, Reason reason) {
+ System.err.println("onClose(" + reason +" reason="+reason.getText()+" code="+reason.getCode()+")");
+ }
+}