数据结构说明
- 多模规则匹配引擎枚举变量:
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;
父主题: 接口说明