#wayland-protocol #protocols #wayland #client-server #skylane

skylane_protocols

为 skylane/wayland 自动生成的 marshalling 代码

4 个版本

使用旧的 Rust 2015

0.1.2 2017 年 5 月 11 日
0.1.1 2017 年 4 月 21 日
0.1.0 2017 年 4 月 20 日
0.0.1 2017 年 4 月 2 日

#1176 in GUI


cognitive-wayland-fronten… 中使用

MIT 许可证

48KB
124 代码行

Skylane

skylane 是用 Rust 编写的 Wayland 协议的实现。

项目由三个仓库组成

  • skylane - 核心协议实现

  • skylane_scanner - 从 XML 协议描述(相当于 wayland-scanner)生成 marshalling 代码

  • skylane_protocols - 使用 skylane_scanner 生成协议 marshalling 代码 + 一些粘合代码

文档

文档可以在 docs.rs 上找到。

项目

skylane 是作为 perceptia 项目的组成部分开发的。最新的使用示例可以在那里找到。

许可证

skylane_protocolsMIT 许可证 下发布。


lib.rs:

此 crate 通过从 XML 协议描述文件自动生成的 Wayland 协议绑定来补充 skylane crate。

此 crate 计划提供所有(稳定和不稳定)协议的实现。如果缺少某些内容,请告诉我们。

实现

每个协议描述文件包含请求(从客户端到服务器)和事件(从服务器到客户端)。在服务器部分,请求被转换为

  • 接口 - 描述 Wayland 协议对象方法的特质
  • 调度器 - 将套接字数据转换为调用实现适当接口的对象上的方法的结构的转换器。而事件则为独立函数。在客户端部分反之。

Handler 结构帮助将 Dispatcher 与其实现的 Interface 绑定,并在 server::Connection 中注册它(来自 skylane crate)。

服务器示例

待办事项:添加服务器示例。

客户端示例

待办事项:添加客户端示例。

依赖关系

~2MB
~40K SLoC