跳到主要内容

插件概念

基础

YedMQ 插件使用Rust进行编写,并通过动态链接库的形式,供 YedMQ 在启动阶段进行动态加载。

插件结构

每一个 YedMQ 插件由 动态链接库 .so文件以及一个基于TOML格式的插件描述文件组成(plugin.toml).

文件夹结构如下所示:

|- example-plugin/  1
| |- libexample-plugin.so 2
| |- plugin.toml 3

1: 插件文件夹。 2: 插件的动态链接库文件。 3: 基于Toml的插件描述配置文件。

插件元信息

YedMQ 使用plugin.toml文件来存储插件的元信息以及插件的执行优先级。

插件的执行优先级可以由用户自行定义,YedMQ 插件的执行顺序。如果多个同类型插件存在,则最高优先级的插件被率先执行。

plugin.toml 例子

[plugin]
name = "demo_plugin"
author = "yedmq"
description = "Just a demo plugin"
version = "1.0.0"
entry = "./libexample_plugin.so"
priority = 1000
  • name:插件的名称
  • author:插件的作者
  • description:插件的基本描述
  • version:插件版本
  • entry:插件入口,即动态链接库的文件位置。
  • priority:插件的执行优先级。