2个版本

0.0.2 2024年8月9日
0.0.1 2024年8月9日

#1370过程宏

Download history 201/week @ 2024-08-09

每月201次下载
waynest 中使用

Apache-2.0

5KB

Waynest

Waynest是一个设计用来处理Wayland协议底层方面的基础库。它建立在Rust的异步生态系统之上,利用Tokio库高效管理异步任务。

该库负责实现Wayland的线缆协议,并提供与它交互的必要工具。代码的大部分是从XML接口描述自动生成的

概述

Waynest有意设计为一个底层库。它不适用于大多数场景的直接使用,而是作为构建更高层次库和应用程序的关键构建块。

对于正在开发Wayland客户端的开发者,Waynova 是一个更好的选择。Waynova建立在Waynest之上,提供便利的助手和自动化大量样板代码。

如果你的目标是创建Wayland合成器,你可能对 Verdi 感兴趣。Verdi内部使用Waynest。

用法

Waynest的代码库组织成三个主要模块

Wire 模块

wire 模块实现了Wayland协议的核心线缆格式。它促进了客户端和服务器之间双向连接的建立。该模块的核心组件是 Socket 结构体,它实现了 SinkStream 特性,提供了与Rust异步生态系统轻松集成的功能。

Server 模块

server 模块包含从XML接口定义生成的特性。实现这些特性对应于实现相应的Wayland协议。Waynest不对底层实现做假设,但提供了发送事件到客户端所需的工具。要实现任何协议,开发人员需要实现 Dispatcher 特性,可以使用提供的宏轻松地派生它。

client 模块

待定

许可证

本项目采用Apache-2.0 许可证。更多详细信息,请参阅LICENSE 文件。

依赖

~275–720KB
~17K SLoC