鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

数据结构说明

  • 多模规则匹配引擎枚举变量:
    typedef enum {
        MMPM_MATCHER_NONE = 0,
        MMPM_MATCHER_TYPE_HASH,
        MMPM_MATCHER_TYPE_AC,
        MMPM_MATCHER_TYPE_MAX
    } mmpm_matcher_type;
  • 多模规则匹配错误码:
    #define MMPM_SUCCESS            0
    #define MMPM_INVALID_PARA       (-1)
    #define MMPM_MALLOC_FAIL        (-2)
    #define MMPM_BUILT_ALREADY      (-3)
    #define MMPM_FIND_FAIL          (-4)
    #define MMPM_INIT_RWLOCK_FAIL   (-5)
    表1 错误码说明

    错误码

    返回值

    解释

    解决办法

    MMPM_INVALID_PARA

    -1

    传入空指针,或者传入不合法的规则。例:传入的key_len为0,或者与key的实际长度不一致

    根据报错的函数,检查对应的入参是否合法

    MMPM_MALLOC_FAIL

    -2

    堆内存申请失败

    检查系统内存是否被其他程序大量占用;检查构建匹配引擎时是否传入过多规则

    MMPM_BUILT_ALREADY

    -3

    匹配引擎已构建成功,禁止重复构建

    检查是否存在多次构建匹配引擎的错误使用方式

    MMPM_FIND_FAIL

    -4

    规则匹配失败,匹配引擎中不存在该规则

      

    MMPM_INIT_RWLOCK_FAIL

    -5

    在初始化Hash匹配引擎时,锁初始化失败

    检查系统内存是否被其他程序大量占用

  • 多模规则匹配,规则数据结构:
    typedef struct {
        uint32_t alias; /* 规则别名,可重复 */
        uint32_t key_len; 
        uint8_t *key; /* 规则匹配key,唯一标识 */
    } mmpm_rule_t;