sendToChannel0
This commit is contained in:
@@ -273,23 +273,13 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
* @return 0表示成功, 非0表示错误码
|
||||
*/
|
||||
CompletableFuture<Integer> sendPacket(WebSocketPacket packet) {
|
||||
if (this._readHandler == null) { // if (this._writeIOThread == null) {
|
||||
if (this._readHandler == null) {
|
||||
if (delayPackets == null) {
|
||||
delayPackets = new ArrayList<>();
|
||||
}
|
||||
delayPackets.add(packet);
|
||||
return CompletableFuture.completedFuture(RETCODE_DELAYSEND);
|
||||
}
|
||||
return _sendToChannel(packet);
|
||||
}
|
||||
|
||||
/**
|
||||
* 给自身发送消息体, 包含二进制/文本
|
||||
*
|
||||
* @param packet WebSocketPacket
|
||||
* @return 0表示成功, 非0表示错误码
|
||||
*/
|
||||
CompletableFuture<Integer> _sendToChannel(WebSocketPacket packet) {
|
||||
if (_channel == null || closed.get()) {
|
||||
return CompletableFuture.completedFuture(RETCODE_WSOCKET_CLOSED);
|
||||
}
|
||||
@@ -307,7 +297,7 @@ public abstract class WebSocket<G extends Serializable, T> {
|
||||
* @param packets WebSocketPacket集合
|
||||
* @return 0表示成功, 非0表示错误码
|
||||
*/
|
||||
CompletableFuture<Integer> _sendToChannel(List<WebSocketPacket> packets) {
|
||||
CompletableFuture<Integer> sendToChannel0(List<WebSocketPacket> packets) {
|
||||
if (_channel == null || closed.get()) {
|
||||
return CompletableFuture.completedFuture(RETCODE_WSOCKET_CLOSED);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
private final BiConsumer<WebSocket, Object> restMessageConsumer = createRestOnMessageConsumer();
|
||||
|
||||
private final ObjectPool<ByteArray> byteArrayPool =
|
||||
ObjectPool.createSafePool(1000, () -> new ByteArray(), null, ByteArray::recycle);
|
||||
ObjectPool.createSafePool(1024, ps -> new ByteArray(), null, ByteArray::recycle);
|
||||
|
||||
// RestWebSocket时会被修改
|
||||
protected Type messageRestType;
|
||||
@@ -411,9 +411,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
if (webSocket.delayPackets != null) { // 存在待发送的消息
|
||||
List<WebSocketPacket> delayPackets = webSocket.delayPackets;
|
||||
webSocket.delayPackets = null;
|
||||
// CompletableFuture<Integer> cf = webSocket._writeIOThread.send(webSocket,
|
||||
// delayPackets.toArray(new WebSocketPacket[delayPackets.size()]));
|
||||
CompletableFuture<Integer> cf = webSocket._sendToChannel(delayPackets);
|
||||
CompletableFuture<Integer> cf = webSocket.sendToChannel0(delayPackets);
|
||||
cf.whenComplete((Integer v, Throwable t) -> {
|
||||
Traces.currentTraceid(request.getTraceid());
|
||||
if (userid == null || t != null) {
|
||||
@@ -437,9 +435,7 @@ public abstract class WebSocketServlet extends HttpServlet implements Resourcabl
|
||||
if (webSocket.delayPackets != null) { // 存在待发送的消息
|
||||
List<WebSocketPacket> delayPackets = webSocket.delayPackets;
|
||||
webSocket.delayPackets = null;
|
||||
// CompletableFuture<Integer> cf = webSocket._writeIOThread.send(webSocket,
|
||||
// delayPackets.toArray(new WebSocketPacket[delayPackets.size()]));
|
||||
CompletableFuture<Integer> cf = webSocket._sendToChannel(delayPackets);
|
||||
CompletableFuture<Integer> cf = webSocket.sendToChannel0(delayPackets);
|
||||
cf.whenComplete((Integer v, Throwable t) -> {
|
||||
Traces.currentTraceid(request.getTraceid());
|
||||
if (sessionid == null || t != null) {
|
||||
|
||||
Reference in New Issue
Block a user