9 个版本

0.5.5 2024 年 6 月 12 日
0.5.4 2024 年 5 月 30 日
0.4.4 2024 年 5 月 18 日

#1974 in 网络编程

Download history 475/week @ 2024-05-18 122/week @ 2024-05-25 22/week @ 2024-06-01 148/week @ 2024-06-08 20/week @ 2024-06-15 3/week @ 2024-06-22 22/week @ 2024-06-29 90/week @ 2024-07-27

每月 109 次下载

MIT 许可证

47KB
814

Crates.io MIT licensed Build Status

krossbar-hub

Krossbar 中心总线

二进制程序作为服务连接的中心。在请求时,它创建一个 UDS 对,并将相应的套接字发送到每个对等方,之后这些对等方使用该对进行通信。服务唯一已知的中继点是中心套接字。

中心默认使用 krossbar_bus_common::DEFAULT_HUB_SOCKET_PATH 作为中心套接字路径,以及 krossbar_bus_common::DEFAULT_SERVICE_FILES_DIR 作为服务文件目录。这些可以通过命令行参数进行更改。

创建的套接字具有 0o666 文件权限,以允许服务连接。

服务文件

在服务注册期间以及之后的所有连接请求中,中心使用权限系统检查服务是否被允许执行其尝试执行的操作。

服务文件名标识客户端服务名称。文件本身包含允许注册服务的可执行 glob,以及允许连接到服务的客户端名称列表。

基本服务文件 com.example.echo.service 可能如下所示

{
"exec": "/data/krossbar/*",
"incoming_connections": ["**"]
}

请参阅 lib 示例目录 以获取服务文件示例。

构建

手动构建或使用 cargo install krossbar-bus-hub 进行安装。

用法

Krossbar bus hub

Usage: krossbar-bus-hub [OPTIONS]
Options:
  -l, --log-level <LOG_LEVEL>
          Log level: OFF, ERROR, WARN, INFO, DEBUG, TRACE [default: TRACE]
  -a, --additional-service-dirs <ADDITIONAL_SERVICE_DIRS>
          Additional service files directories [default: []]
  -s, --socket-path <SOCKET_PATH>
          Hub socket path [default: /var/run/krossbar.bus.socket]
  -h, --help
          Print help
  -V, --version
          Print version

依赖项

~13–24MB
~351K SLoC