session_scanner
简介
会话扫描器,提供主动关闭会话的功能,基于pkg.net_ex
组件接口
类
SessionScanner
会话扫描器 - 扫描并主动关闭连接
成员变量
变量名 | 类型 | 初始值 | 须初始化 | 描述 |
---|---|---|---|---|
name | string | nil | 可选 | 名称 |
running | bool | false | 可选 | 运行状态 |
scan_queue | queue | nil | 可选 | 待扫描的队列 |
limit_count | int | -1 | 可选 | 会话数量限制(-1表示不限制) |
scan_count | int | -1 | 可选 | 每次扫描的会话数量(<=0 表示不限制) |
counter | ScanCounter | nil | 可选 | 计数器 |
auto_close_func | function | nil | 可选 | 会话主动关闭的处理函数 |
成员方法
函数原型 | 函数作用 |
---|---|
string desc() | 获取描述信息 |
void add_session(object session_ob) | 添加一个会话 |
void set_scan_count(int scan_count) | 设置每次扫描的会话数量 |
void set_auto_close_func(function auto_close_func) | 设置自定义的连接主动关闭的处理函数 |
void start(float interval) | 启动扫描 |
void scan() | 执行一次扫描 |
ScanCounter
扫描计数器
成员变量
变量名 | 类型 | 初始值 | 须初始化 | 描述 |
---|---|---|---|---|
mark | int | 0 | 可选 | 起始标记 |
count | int | 0 | 可选 | 已统计数量 |
成员方法
函数原型 | 函数作用 |
---|---|
void reset() | 重置计数器 |
void try_reset(int mark) | 尝试重置计数器(遇到起始的标记时重置) |
int stat(int mark) | 统计一个标记 |