han J 062ffad431
feat: zenoh plugin with shm (#96)
* add zenoh-shm API

* use zenoh shm-api for channel and rpc

* set z_alloc_result as a local variable.

* add zenoh_buffer_array_allocator

* avoid copy opreation when pub data with shm

* if shm pool size is not enough, use net buffer instead

* add z_pub_shm_size_map_ to store topic-loan_size

* little fix

* remove client send data 's copying

* remove server send data 's copy

* add doc

* change benchamrk  item

* minor modification

---------

Co-authored-by: hanjun <hanjun@agibot.com>
2024-11-15 18:42:59 +08:00

1.8 KiB
Raw Blame History

v0.9.0

重要修改

  • 优化了 zenoh 插件:
    • 添加了 zenoh rpc 后端;
    • zenoh 插件支持网络通信和共享内存两种通信方式;
    • 可以传入 zenoh 原生配置进行更丰富的配置;
  • 新增了第三方库 asioruntime::core 不再引用 boost改为引用独立的 asio 库,以减轻依赖;
  • 新增 aimrt_cli trans 命令,用于将 使用 aimrt record_playback 插件录制的 bag 文件转换为 ros2 的 bag 文件;
  • 新增 Echo 插件,用于回显消息;
  • 新增了基于执行器的定时器,方便执行定时任务;

次要修改

  • 缩短了一些 examples 的文件路径长度;
  • 优化代码结构,移动代码 src/runtime/common/net 至新位置 src/common/net
  • 升级 jsoncpp 至 1.9.6 版本以优化一些 cmake 问题;
  • 新增了 aimrt_py channel benchmark 示例;
  • 新增了 aimrt_py rpc benchmark 示例;
  • iceoryx 插件在编译前先检查是否存在libacl不存在则不进行编译
  • 提供 RPC 服务的插件现在支持指定 service name
  • 提供一键运行example的脚本并生成测试报告
  • 修复 aimrt_py 多线程 rpc 调用 server 端概率性崩溃的问题;
  • 为 aimrt_py 的 channel 功能提供了 Context 支持;
  • 现在支持 install aimrt::runtime::core
  • 删除一些未使用的协议;
  • 支持日志自定义输出格式;
  • 支持日志定期主动落盘操作;
  • grpc 插件支持 ros2 消息以及 json 序列化格式;
  • mqtt 新增配置项以支持 ssl/tls 单向认证/双向认证的加密传输;
  • mqtt 插件在broker未启动时会自动重试异步连接 并提供重连间隔配置项;
  • ros2 插件支持自定义 rpc 服务名称;
  • asio thread/strand 执行器现在支持是否使用 system clock