You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.6 KiB
Java

package com.ruoyi.mqtt;
import com.ruoyi.mqtt.event.*;
/**
* 事件 处理句柄
*/
public interface MqttEventHandler {
/**
* 处理
*
* @param event 事件
* @param item 产生的MQTT操作项
* @return 是否处理下一个句柄
*/
default boolean next(MqttEvent event, MqttItem item) {
if (event instanceof MqttConnectionExceptionEvent) {
return next((MqttConnectionExceptionEvent) event, item);
} else if (event instanceof MqttConnectionLostEvent) {
return next((MqttConnectionLostEvent) event, item);
} else if (event instanceof MqttConnectionSuccessEvent) {
return next((MqttConnectionSuccessEvent) event, item);
} else if (event instanceof MqttMessageDeliveryEvent) {
return next((MqttMessageDeliveryEvent) event, item);
} else if (event instanceof MqttMessageEvent) {
return next((MqttMessageEvent) event, item);
} else if (event instanceof MqttReconnectionEvent) {
return next((MqttReconnectionEvent) event, item);
}
return false;
}
default boolean next(MqttConnectionExceptionEvent event, MqttItem item) {
return true;
}
default boolean next(MqttConnectionLostEvent event, MqttItem item) {
return true;
}
default boolean next(MqttConnectionSuccessEvent event, MqttItem item) {
return true;
}
default boolean next(MqttMessageDeliveryEvent event, MqttItem item) {
return true;
}
default boolean next(MqttMessageEvent event, MqttItem item) {
return true;
}
default boolean next(MqttReconnectionEvent event, MqttItem item) {
return true;
}
}