#zenoh #plugin #distributed-systems #distributed-computing #pub-sub #messaging

zenoh-plugin-trait

Zenoh:零开销Pub/Sub/Query协议

13个版本 ()

1.0.0-alpha.62024年8月6日
1.0.0-alpha.52024年7月26日
1.0.0-alpha.2 2024年6月21日
0.11.0 2024年6月4日
0.5.0-beta.92021年11月24日

网络编程中排名第1339

Download history 4163/week @ 2024-05-03 9377/week @ 2024-05-10 3874/week @ 2024-05-17 4769/week @ 2024-05-24 3579/week @ 2024-05-31 4551/week @ 2024-06-07 3845/week @ 2024-06-14 4909/week @ 2024-06-21 3500/week @ 2024-06-28 3220/week @ 2024-07-05 3912/week @ 2024-07-12 3944/week @ 2024-07-19 4667/week @ 2024-07-26 4709/week @ 2024-08-02 4224/week @ 2024-08-09 4714/week @ 2024-08-16

每月下载量19,019
用于39个crate(直接使用14个)

EPL-2.0 OR Apache-2.0

470KB
10K SLoC

⚠️警告⚠️

此crate旨在供Zenoh内部使用。


lib.rs:

Zenoh的插件基础设施。

要构建一个插件,实现Plugin

如果正在为zenohd构建插件,应使用在zenoh::plugins中导出的类型来填充Plugin关联的类型。
要检查您的插件类型是否与zenohd兼容,让您的插件实现zenoh::plugins::ZenohPlugin

插件是一个实现Plugin特质的结构体。此特质有两个关联类型

  • StartArgs:传递给插件start函数的参数类型。
  • 实例:插件实例的类型。

插件的实际工作由实例执行,该实例由start函数创建。

插件通过PluginsManager加载、启动和停止。停止插件就是丢弃其实例。

插件可以是静态的或动态的。

静态插件是实现Plugin特质的类型。它可以通过PluginsManager::declare_static_plugin方法添加到PluginsManager

动态插件是一个共享库,它导出一组C表示(未混淆)函数,这些函数允许检查插件兼容性并创建插件实例。这些函数由declare_plugin宏自动定义。

依赖关系

~14–27MB
~395K SLoC