This commit is contained in:
Redkale
2018-01-03 16:26:10 +08:00
parent 7b0a576b00
commit 30d4296687

View File

@@ -79,7 +79,7 @@ class WebSocketRunner implements Runnable {
public void completed(Integer count, Void attachment1) { public void completed(Integer count, Void attachment1) {
if (count < 1) { 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"); 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; return;
} }
if (readBuffer == null) return; if (readBuffer == null) return;
@@ -180,11 +180,11 @@ class WebSocketRunner implements Runnable {
} else if (packet.type == FrameType.CLOSE) { } else if (packet.type == FrameType.CLOSE) {
Logger logger = context.getLogger(); Logger logger = context.getLogger();
if (debug) logger.log(Level.FINEST, "WebSocketRunner onMessage by CLOSE FrameType : " + packet); if (debug) logger.log(Level.FINEST, "WebSocketRunner onMessage by CLOSE FrameType : " + packet);
closeRunner(0); closeRunner(0, "received CLOSE frame-type message");
return; return;
} else { } else {
context.getLogger().log(Level.WARNING, "WebSocketRunner onMessage by unknown FrameType : " + packet); context.getLogger().log(Level.WARNING, "WebSocketRunner onMessage by unknown FrameType : " + packet);
closeRunner(0); closeRunner(0, "received unknown frame-type message");
return; return;
} }
} }
@@ -195,16 +195,16 @@ class WebSocketRunner implements Runnable {
if (exc != null) { 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); 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 { } else {
if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort by AsyncConnection closed"); if (debug) context.getLogger().log(Level.FINEST, "WebSocketRunner abort by AsyncConnection closed");
closeRunner(0); closeRunner(0, "webSocket channel is not opened");
} }
} catch (Exception e) { } 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); 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) { } 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); 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); writing.set(false);
} }
@@ -281,14 +281,14 @@ class WebSocketRunner implements Runnable {
if (exc != null) { 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); 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) { } catch (Exception t) {
writing.set(false); writing.set(false);
context.getLogger().log(Level.FINE, "WebSocket sendMessage abort, force to close channel, live " + (System.currentTimeMillis() - webSocket.getCreatetime()) / 1000 + " seconds", t); 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); futureResult.complete(RETCODE_SENDEXCEPTION);
} }
return futureResult; return futureResult;
@@ -298,7 +298,7 @@ class WebSocketRunner implements Runnable {
return closed; return closed;
} }
public void closeRunner(int code) { public void closeRunner(int code, String reason) {
if (closed) return; if (closed) return;
synchronized (this) { synchronized (this) {
if (closed) return; if (closed) return;
@@ -310,7 +310,7 @@ class WebSocketRunner implements Runnable {
context.offerBuffer(readBuffer); context.offerBuffer(readBuffer);
readBuffer = null; readBuffer = null;
engine.remove(webSocket); engine.remove(webSocket);
webSocket.onClose(code, null); webSocket.onClose(code, reason);
} }
} }