|
VLink
2.1.0
A high-performance communication middleware
|
VLOG_{T,D,I,W,E}_EVERY_MS(interval_ms, ...) 宏,支持按周期抑制重复日志且不求值被抑制的日志参数。cli/dump 已彻底改为 cli/parse,命令由 vlink-dump / dump 改为 vlink-parse / parse,构建开关由 ENABLE_CLI_DUMP 改为 ENABLE_CLI_PARSE;不提供旧名称兼容入口。MessageParser,支持反射解析、零拷贝视图和通用文本渲染;Parse、Viewer、Analyzer、eproto 与 efbs 已接入。get_key_list() 字段描述接口;Python Key.type 返回 PointCloud.Type 枚举。vlink-trigger、TriggerRecorder 及 Python 绑定,支持触发前后数据缓存、Bag 落盘、历史轮转和完成回调插件。on_reset(),回放前补全序列化和 Schema 类型。on_read() / on_write() 改为纯虚函数,并移除版本查询接口;插件仍声明 2.0,但需按新头文件适配并重新构建。languages/c_api/ 与 languages/python_api/;公开构建开关、CMake target、库名和安装布局保持不变。set_manual_unloan() 与 is_manual_unloan();接收缓冲统一在回调后自动归还,发布侧 loan() / return_loan() 不受影响。modules/ddst 与 modules/qnx,不再支持 ddst:// 和 qnx://;同步移除 DdstConf / QnxConf、对应 TransportType 与启用标志、构建选项、CLI / 补全入口、Python 枚举、测试和文档。QNX 目标操作系统的工具链、原生日志及平台适配不受影响。TerminalStream 移至 base,并统一 Bag / Trigger 接口命名;旧接口不再保留。VLINK_URL_PLUGINS,支持按需自动加载 transport、关闭加载或显式预加载;运行时包可独立完成动态加载。BagWriter::close(),并由 Config::sync_mode 统一帧、Schema 和插件输出的写入模式。逐调用 immediate 参数及受保护 record() 签名已调整,外部派生类和既有二进制需适配并重新构建。MemoryPool::Config 新增 batch_size,使用该配置的外部 C++ 二进制需重新构建。Serializer::serialize_to_transport(),修复 transport loan 生命周期并加强边界校验;C 字符串改为仅支持发送,接收端须使用 std::string。on_reset() 清理旧状态,并正确处理自然完成与中断边界。vlink 模块路径;Bytes 支持负索引。MemoryResource::is_equal() 与外部 PMR resource 比较时的未定义行为。