14个版本

0.2.0 2024年1月15日
0.1.6 2024年1月17日
0.1.5 2023年2月7日
0.1.4 2022年9月22日
0.0.1 2020年10月22日

#71无标准库

Download history 369/week @ 2024-03-13 1762/week @ 2024-03-20 112/week @ 2024-03-27 407/week @ 2024-04-03 666/week @ 2024-04-10 393/week @ 2024-04-17 281/week @ 2024-04-24 403/week @ 2024-05-01 481/week @ 2024-05-08 525/week @ 2024-05-15 499/week @ 2024-05-22 1675/week @ 2024-05-29 403/week @ 2024-06-05 216/week @ 2024-06-12 763/week @ 2024-06-19 346/week @ 2024-06-26

1,797 每月下载量
用于 9 个crates(8直接)

MIT/Apache

16KB
111

Build Status Maintenance

coap-handler

coap-handler crate定义了CoAP服务器(在网络中监听请求并解析消息)和请求处理器(处理请求并从它们创建响应)之间的接口。

通过使用coap-message crate,该接口在消息格式上是通用的,允许处理器直接在服务器实现准备的发送缓冲区中构建响应。通过将请求处理和响应阶段分离,即使在只有一个网络缓冲区的网络堆栈上也可以实现服务器。

coap-handler-implementations crate中提供了便利性、示例和参考实现。

当前接口的已知缺点是

  • 未考虑异步处理。

  • 处理器可变性有点不确定 -- 服务器尚无法表达任何关于一次只运行一个处理器的承诺,因此处理器通常持有对RefCell的共享引用,该引用已被borrow_mut()'d(如果没有其他代码可以与CoAP服务器并发运行可以访问到T),或者try_borrow_mut()'d(并返回一个5.03 Max-Age:0响应)。

    正在探索替代方案(在这些方案中,可以根据对它们数据的单个可变引用构建多个处理器)。

  • 不支持多个响应(例如,在观察中)。

本crate的主要项目是[Handler]特质。除了[Handler],还可以实现[Reporting]特质,以简化将渲染的资源包含在发现中,例如通过coap-handler-implementations中实现的/.well-known/core

许可证:MIT OR Apache-2.0

依赖项

~220KB