#networking #distributed #kerberos

app netidx-dbus

使用 netidx 与 dbus 服务进行通信

1 个不稳定版本

0.1.0 2022 年 12 月 3 日

37#kerberos

MIT 许可证

54KB
1.5K SLoC

Netidx Dbus

Netidx dbus 是从 dbus 到 netidx 的桥梁。netidx-dbus 守护程序将使用 dbus 反射来发现 dbus 中的连接、对象、接口、属性和信号的树状结构,然后它将此信息发布到 netidx。属性被建模为简单的 netidx 值,您可以像任何其他值一样订阅它们,如果属性值发生变化(并且连接的所有者遵循规范并通知更改),则 netidx 值将更新。写入属性会导致 netidx 调用适当的 dbus 方法来设置属性值。方法被建模为 netidx rpc,调用 netidx rpc 将调用 dbus 方法,类型在两个方向上自动转换。信号被建模为不可写的属性,初始值为 null;当发生信号时,已订阅的客户端将接收到其值,但在此信号之后发生的订阅将不会。

netidx-dbus 将 dbus 命名空间组织为按类型组织的树。在顶级有两个子树 activatibleconnections。Activatible 列出可以由 dbus 自动启动但可能尚未运行的 dbus 连接。要激活 activatible 服务,只需将其值写入 activatible 子树中的任何位置。Connections 列出当前连接到 dbus 的服务。连接服务包含两个子树,childreninterfaces。Children 包含对象的直接子代,在这种情况下是连接的根对象。Interfaces 包含由对象实现的接口列表。在接口下有最多三个子树,methodspropertiessignals,如果接口实现了相应的项目,则将存在这些子树。这很遗憾地很冗长,但这是必要的,以防止命名空间冲突,并且它反映了 dbus 对世界的遗憾地冗长思考方式。

依赖关系

~21–56MB
~859K SLoC