2个版本
0.0.2 | 2024年8月9日 |
---|---|
0.0.1 | 2024年8月9日 |
#1370 在 过程宏
每月201次下载
在 waynest 中使用
5KB
Waynest
Waynest是一个设计用来处理Wayland协议底层方面的基础库。它建立在Rust的异步生态系统之上,利用Tokio库高效管理异步任务。
该库负责实现Wayland的线缆协议,并提供与它交互的必要工具。代码的大部分是从XML接口描述自动生成的
概述
Waynest有意设计为一个底层库。它不适用于大多数场景的直接使用,而是作为构建更高层次库和应用程序的关键构建块。
对于正在开发Wayland客户端的开发者,Waynova 是一个更好的选择。Waynova建立在Waynest之上,提供便利的助手和自动化大量样板代码。
如果你的目标是创建Wayland合成器,你可能对 Verdi 感兴趣。Verdi内部使用Waynest。
用法
Waynest的代码库组织成三个主要模块
Wire
模块
wire
模块实现了Wayland协议的核心线缆格式。它促进了客户端和服务器之间双向连接的建立。该模块的核心组件是 Socket
结构体,它实现了 Sink
和 Stream
特性,提供了与Rust异步生态系统轻松集成的功能。
Server
模块
server
模块包含从XML接口定义生成的特性。实现这些特性对应于实现相应的Wayland协议。Waynest不对底层实现做假设,但提供了发送事件到客户端所需的工具。要实现任何协议,开发人员需要实现 Dispatcher
特性,可以使用提供的宏轻松地派生它。
client
模块
待定
许可证
本项目采用Apache-2.0 许可证。更多详细信息,请参阅LICENSE 文件。
依赖
~275–720KB
~17K SLoC