From 0513da89930c17cef419c06fb3b2a9d374c991f1 Mon Sep 17 00:00:00 2001 From: heavyrain2012 Date: Tue, 12 Oct 2021 07:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=96=AD=E5=BC=80?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moquette/imhandler/DisconnectHandler.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 broker/src/main/java/io/moquette/imhandler/DisconnectHandler.java diff --git a/broker/src/main/java/io/moquette/imhandler/DisconnectHandler.java b/broker/src/main/java/io/moquette/imhandler/DisconnectHandler.java new file mode 100644 index 00000000..7ea18081 --- /dev/null +++ b/broker/src/main/java/io/moquette/imhandler/DisconnectHandler.java @@ -0,0 +1,33 @@ +/* + * This file is part of the Wildfire Chat package. + * (c) Heavyrain2012 + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +package io.moquette.imhandler; + +import cn.wildfirechat.common.ErrorCode; +import cn.wildfirechat.proto.WFCMessage; +import com.hazelcast.util.StringUtil; +import com.xiaoleilu.loServer.model.FriendData; +import io.moquette.spi.impl.Qos1PublishHandler; +import io.netty.buffer.ByteBuf; +import win.liyufan.im.IMTopic; + +import java.util.List; + +@Handler(value = IMTopic.ClearSessionTopic) +public class DisconnectHandler extends IMHandler { + @Override + public ErrorCode action(ByteBuf ackPayload, String clientID, String fromUser, boolean isAdmin, Byte request, Qos1PublishHandler.IMCallback callback) { + if (request == 8) { + m_sessionsStore.cleanSession(fromUser, clientID); + } else if(request == 1) { + m_sessionsStore.disableSession(fromUser, clientID); + } + + return ErrorCode.ERROR_CODE_SUCCESS; + } +}