From 30d4296687f01daea8327f343920c3342c2840be Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Wed, 3 Jan 2018 16:26:10 +0800 Subject: [PATCH] --- src/org/redkale/net/http/WebSocketRunner.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/org/redkale/net/http/WebSocketRunner.java b/src/org/redkale/net/http/WebSocketRunner.java index bf7909452..6a829011d 100644 --- a/src/org/redkale/net/http/WebSocketRunner.java +++ b/src/org/redkale/net/http/WebSocketRunner.java @@ -79,7 +79,7 @@ class WebSocketRunner implements Runnable { public void completed(Integer count, Void attachment1) { if (count < 1) { if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort on read buffer count, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds"); - closeRunner(0); + closeRunner(0, "read buffer count is " + count); return; } if (readBuffer == null) return; @@ -180,11 +180,11 @@ class WebSocketRunner implements Runnable { } else if (packet.type == FrameType.CLOSE) { Logger logger = context.getLogger(); if (debug) logger.log(Level.FINEST, "WebSocketRunner onMessage by CLOSE FrameType : " + packet); - closeRunner(0); + closeRunner(0, "received CLOSE frame-type message"); return; } else { context.getLogger().log(Level.WARNING, "WebSocketRunner onMessage by unknown FrameType : " + packet); - closeRunner(0); + closeRunner(0, "received unknown frame-type message"); return; } } @@ -195,16 +195,16 @@ class WebSocketRunner implements Runnable { if (exc != null) { if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner read WebSocketPacket failed, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", exc); } - closeRunner(0); + closeRunner(0, exc != null ? "read websocket-packet failed" : "decode websocket-packet error"); } }); } else { if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort by AsyncConnection closed"); - closeRunner(0); + closeRunner(0, "webSocket channel is not opened"); } } catch (Exception e) { if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort on read bytes from channel, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", e); - closeRunner(0); + closeRunner(0, "read bytes from channel error"); } } @@ -270,7 +270,7 @@ class WebSocketRunner implements Runnable { } } catch (Exception e) { context.getLogger().log(Level.WARNING, "WebSocket sendMessage abort on rewrite, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", e); - closeRunner(0); + closeRunner(0, "websocket send message failed on rewrite"); } writing.set(false); } @@ -281,14 +281,14 @@ class WebSocketRunner implements Runnable { if (exc != null) { context.getLogger().log(Level.FINE, "WebSocket sendMessage on CompletionHandler failed, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", exc); } - closeRunner(0); + closeRunner(0, "websocket send message failed on CompletionHandler"); } }); } catch (Exception t) { writing.set(false); context.getLogger().log(Level.FINE, "WebSocket sendMessage abort, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", t); - closeRunner(0); + closeRunner(0, "websocket send message failed on channel.write"); futureResult.complete(RETCODE_SENDEXCEPTION); } return futureResult; @@ -298,7 +298,7 @@ class WebSocketRunner implements Runnable { return closed; } - public void closeRunner(int code) { + public void closeRunner(int code, String reason) { if (closed) return; synchronized (this) { if (closed) return; @@ -310,7 +310,7 @@ class WebSocketRunner implements Runnable { context.offerBuffer(readBuffer); readBuffer = null; engine.remove(webSocket); - webSocket.onClose(code, null); + webSocket.onClose(code, reason); } }