#framework #service-request #no-std

nightly no-std wasefire-protocol

平台与主机之间的 Wasefire 协议

1 个不稳定版本

0.1.0 2024 年 7 月 23 日

#1967嵌入式开发

Download history 118/week @ 2024-07-21 10/week @ 2024-07-28

每月 128 次下载
4 个 包使用

Apache-2.0 协议

68KB
1.5K SLoC

Wasefire 平台协议。

此包定义了主机和设备之间的高级协议。主机发起请求,设备响应。请求和响应使用相同的 [Api],但具有不同的类型参数:分别为 Api<Request>Api<Response>。然而,当主机发送一个 Api<Request> 时,设备会以一个 ApiResult<T> 响应,其中 T 是请求的服务。

此高级协议最终被封装在特定传输(例如 USB)的低级协议中。主机应提供足够的时间让设备响应,但在没有响应的情况下(例如设备在发送响应之前被重置)最终应继续进行。相反,设备应接受主机的新请求,并在有其他请求正在处理时取消该请求。协议 API 对消息方向进行参数化。

full 功能控制的变体已被弃用。新设备不会使用它们。但是,为了支持旧设备,主机必须能够使用它们。

依赖项

~265–720KB
~17K SLoC