25个版本 (6个稳定版)

1.1.1 2024年5月3日
1.0.3 2024年2月27日
1.0.1 2023年12月30日
0.12.4 2023年12月8日
0.1.0 2022年12月26日

#809网络编程

Download history 754/week @ 2024-05-03 460/week @ 2024-05-10 419/week @ 2024-05-17 448/week @ 2024-05-24 445/week @ 2024-05-31 371/week @ 2024-06-07 526/week @ 2024-06-14 449/week @ 2024-06-21 378/week @ 2024-06-28 459/week @ 2024-07-05 599/week @ 2024-07-12 502/week @ 2024-07-19 539/week @ 2024-07-26 465/week @ 2024-08-02 480/week @ 2024-08-09 306/week @ 2024-08-16

每月1,856 次下载
14 个crate中使用了 (11个直接使用)

MIT 许可证

85KB
1.5K SLoC

wayrs

Wayland客户端库的简单Rust实现。

设计决策

  • 单事件队列
  • 无内部可变性
  • libwayland 兼容性
  • 支持阻塞、非阻塞和异步IO

项目状态

  • 主crate,wayrs-client,功能完整且稳定。

项目结构

项目分为多个crate

  • wayrs-client:实现Wayland线协议的主要crate。提供代表打开的Wayland套接字的Connection类型,管理对象和处理回调。
  • wayrs-protocols:一组与wayrs-client一起使用的Wayland协议。
  • wayrs-utils:一组针对wayrs-client的实用工具和抽象。包括共享内存分配器等。
  • wayrs-egl:将OpenGL(-ES)引入wayrs。基于EGL_KHR_platform_gbm
  • wayrs-scanner:实现了从.xml文件生成粘合代码的wayrs_client:::generate!宏。核心协议的生成代码已包含在wayrs-client::protocol中。不要直接使用此crate。
  • wayrs-proto-parser:解析Wayland .xml文件。由wayrs-scanner使用。
  • wayrs-core:核心类型、序列化和反序列化实现。可用于客户端和服务器。

使用wayrs的项目

以下项目使用了wayrs,可以作为额外的使用示例

MSRV

1.72

依赖项

~3–12MB
~121K SLoC