abort
This commit is contained in:
@@ -975,7 +975,7 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
/**
|
||||
* 将指定byte[]按响应结果输出
|
||||
*
|
||||
* @param kill kill
|
||||
* @param kill abort
|
||||
* @param contentType ContentType
|
||||
* @param bs 输出内容
|
||||
* @param offset 偏移量
|
||||
@@ -988,7 +988,7 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
/**
|
||||
* 将指定byte[]按响应结果输出
|
||||
*
|
||||
* @param kill kill
|
||||
* @param kill abort
|
||||
* @param contentType ContentType
|
||||
* @param bodyContent 输出内容
|
||||
* @param bodyOffset 偏移量
|
||||
@@ -1031,11 +1031,11 @@ public class HttpResponse extends Response<HttpContext, HttpRequest> {
|
||||
if (cacheHandler != null) {
|
||||
cacheHandler.accept(this, data.getBytes());
|
||||
}
|
||||
// 不能用finish(boolean kill, final ByteTuple array) 否则会调this.finishFuture
|
||||
// 不能用finish(boolean abort, final ByteTuple array) 否则会调this.finishFuture
|
||||
super.finish(false, data.content(), 0, data.length());
|
||||
}
|
||||
|
||||
void kill() {
|
||||
void abort() {
|
||||
refuseAlive();
|
||||
this.responseConsumer.accept(this);
|
||||
}
|
||||
|
||||
@@ -952,7 +952,7 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
if (this.inflater != null) {
|
||||
this.inflater.end();
|
||||
}
|
||||
CompletableFuture<Void> future = kill(CLOSECODE_SERVERCLOSE, "user close");
|
||||
CompletableFuture<Void> future = abort(CLOSECODE_SERVERCLOSE, "user close");
|
||||
if (future != null) {
|
||||
future.join();
|
||||
}
|
||||
@@ -978,7 +978,7 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
* java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at
|
||||
* java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
|
||||
*/
|
||||
CompletableFuture<Void> kill(int code, String reason) {
|
||||
CompletableFuture<Void> abort(int code, String reason) {
|
||||
if (closed.compareAndSet(false, true)) {
|
||||
if (_channel == null) {
|
||||
return null;
|
||||
@@ -1027,7 +1027,7 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
@Override
|
||||
public void failed(Throwable exc, Void attachment) {
|
||||
super.completeExceptionally(exc);
|
||||
kill(RETCODE_SENDEXCEPTION, "websocket send message failed on CompletionHandler");
|
||||
abort(RETCODE_SENDEXCEPTION, "websocket send message failed on CompletionHandler");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +297,7 @@ public class WebSocketReadHandler implements CompletionHandler<Integer, ByteBuff
|
||||
"WebSocket(" + webSocket + ") abort on read buffer count, force to close channel, live "
|
||||
+ (System.currentTimeMillis() - webSocket.getCreateTime()) / 1000 + " seconds");
|
||||
}
|
||||
webSocket.kill(CLOSECODE_ILLPACKET, "read buffer count is " + count);
|
||||
webSocket.abort(CLOSECODE_ILLPACKET, "read buffer count is " + count);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
@@ -371,13 +371,13 @@ public class WebSocketReadHandler implements CompletionHandler<Integer, ByteBuff
|
||||
Level.FINEST,
|
||||
"WebSocket(" + webSocket + ") onMessage by CLOSE FrameType : " + packet);
|
||||
}
|
||||
webSocket.kill(CLOSECODE_CLIENTCLOSE, "received CLOSE frame-type message");
|
||||
webSocket.abort(CLOSECODE_CLIENTCLOSE, "received CLOSE frame-type message");
|
||||
return;
|
||||
} else {
|
||||
logger.log(
|
||||
Level.WARNING,
|
||||
"WebSocket(" + webSocket + ") onMessage by unknown FrameType : " + packet);
|
||||
webSocket.kill(CLOSECODE_ILLPACKET, "received unknown frame-type message");
|
||||
webSocket.abort(CLOSECODE_ILLPACKET, "received unknown frame-type message");
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -387,7 +387,7 @@ public class WebSocketReadHandler implements CompletionHandler<Integer, ByteBuff
|
||||
webSocket._channel.read(this);
|
||||
} catch (Throwable e) {
|
||||
logger.log(Level.WARNING, "WebSocket(" + webSocket + ") onMessage by received error", e);
|
||||
webSocket.kill(CLOSECODE_WSEXCEPTION, "websocket-received error");
|
||||
webSocket.abort(CLOSECODE_WSEXCEPTION, "websocket-received error");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -406,9 +406,9 @@ public class WebSocketReadHandler implements CompletionHandler<Integer, ByteBuff
|
||||
+ (System.currentTimeMillis() - webSocket.getCreateTime()) / 1000 + " seconds",
|
||||
exc);
|
||||
}
|
||||
webSocket.kill(CLOSECODE_WSEXCEPTION, "read websocket-packet failed");
|
||||
webSocket.abort(CLOSECODE_WSEXCEPTION, "read websocket-packet failed");
|
||||
} else {
|
||||
webSocket.kill(CLOSECODE_WSEXCEPTION, "decode websocket-packet error");
|
||||
webSocket.abort(CLOSECODE_WSEXCEPTION, "decode websocket-packet error");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
"WebSocket connect abort, (Not GET Method)/(Connection!=Upgrade)/(Upgrade!=websocket). request="
|
||||
+ request);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
final String key = request.getHeader("Sec-WebSocket-Key");
|
||||
@@ -263,14 +263,14 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
logger.log(
|
||||
Level.FINE, "WebSocket connect abort, Not found Sec-WebSocket-Key header. request=" + request);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
if (this.webSocketNode.localEngine.isLocalConnLimited()) {
|
||||
logger.log(
|
||||
Level.WARNING,
|
||||
"WebSocket connections limit, wsmaxconns=" + this.webSocketNode.localEngine.getLocalWsMaxConns());
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
final WebSocket webSocket = this.createWebSocket();
|
||||
@@ -295,7 +295,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
if (debug) {
|
||||
logger.log(Level.FINER, "WebSocket connect abort, Not found sessionid. request=" + request);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
BiConsumer<String, Throwable> sessionConsumer = (sessionid, ex) -> {
|
||||
@@ -306,7 +306,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
"WebSocket connect abort, Not found sessionid or occur error. request=" + request,
|
||||
ex);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
// onOpen成功或者存在delayPackets
|
||||
@@ -338,7 +338,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
Level.FINEST,
|
||||
"WebSocket connect abort, Create userid abort. request = " + request);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
userFuture.whenComplete((userid, ex2) -> {
|
||||
@@ -350,7 +350,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
"WebSocket connect abort, Create userid abort. request = " + request,
|
||||
ex2);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
if (userid != null
|
||||
@@ -362,7 +362,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
Level.SEVERE,
|
||||
"WebSocket userid must be Integer/Long/String/BigInteger type, but "
|
||||
+ userid.getClass().getName());
|
||||
response.kill();
|
||||
response.abort();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -378,9 +378,9 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
webSocketNode.localEngine.addLocal(webSocket);
|
||||
response.removeChannel();
|
||||
webSocket._readHandler.startRead();
|
||||
response.kill();
|
||||
response.abort();
|
||||
} else { // 关闭新连接
|
||||
response.kill();
|
||||
response.abort();
|
||||
}
|
||||
};
|
||||
if (rcFuture == null) {
|
||||
@@ -388,7 +388,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
} else {
|
||||
rcFuture.whenComplete((r, e) -> {
|
||||
if (e != null) {
|
||||
response.kill();
|
||||
response.abort();
|
||||
} else {
|
||||
task.accept(r);
|
||||
}
|
||||
@@ -398,14 +398,14 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
webSocketNode.localEngine.addLocal(webSocket);
|
||||
response.removeChannel();
|
||||
webSocket._readHandler.startRead();
|
||||
response.kill();
|
||||
response.abort();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
webSocketNode.localEngine.addLocal(webSocket);
|
||||
response.removeChannel();
|
||||
webSocket._readHandler.startRead();
|
||||
response.kill();
|
||||
response.abort();
|
||||
}
|
||||
};
|
||||
if (webSocket.delayPackets != null) { // 存在待发送的消息
|
||||
@@ -424,7 +424,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
+ request,
|
||||
t);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
} else {
|
||||
runHandler.run();
|
||||
}
|
||||
@@ -450,7 +450,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
+ request,
|
||||
t);
|
||||
}
|
||||
response.kill();
|
||||
response.abort();
|
||||
} else {
|
||||
createUseridHandler.run();
|
||||
}
|
||||
@@ -463,7 +463,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
@Override
|
||||
public void failed(Throwable exc, Void attachment) {
|
||||
logger.log(Level.FINEST, "WebSocket connect abort, Response send abort. request = " + request, exc);
|
||||
response.kill();
|
||||
response.abort();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user