package com.qaup.collision.websocket.message;

/**
 * WebSocket消息优先级枚举
 * 用于消息处理和推送的优先级管理
 */
public enum MessagePriority {
    
    /**
     * 紧急 - 安全告警，同步处理
     */
    URGENT(1, "紧急"),
    
    /**
     * 高优先级 - 碰撞预警，立即处理
     */
    HIGH(2, "高"),
    
    /**
     * 普通 - 位置更新，正常处理
     */
    NORMAL(3, "普通"),
    
    /**
     * 低优先级 - 系统状态，可延迟处理
     */
    LOW(4, "低");
    
    private final int level;
    private final String description;
    
    MessagePriority(int level, String description) {
        this.level = level;
        this.description = description;
    }
    
    public int getLevel() {
        return level;
    }
    
    public String getDescription() {
        return description;
    }
    
    /**
     * 比较优先级高低
     * @param other 其他优先级
     * @return true表示当前优先级更高
     */
    public boolean isHigherThan(MessagePriority other) {
        return this.level < other.level;
    }
} 