#traits #tcp-socket #async-trait #udp-socket #networking #tcp-server #raw-sockets

无std 嵌入式-nal-async-xtra

包含一些在嵌入式-nal-asynccrate中尚未提供的特性

2个不稳定版本

0.2.0 2024年2月1日
0.1.0 2024年1月27日

1781嵌入式开发

Download history 8/week @ 2024-03-11 7/week @ 2024-03-25 45/week @ 2024-04-01 33/week @ 2024-04-15 2/week @ 2024-04-22 2/week @ 2024-05-13 36/week @ 2024-05-20 26/week @ 2024-05-27 25/week @ 2024-06-03 20/week @ 2024-06-10 21/week @ 2024-06-17 43/week @ 2024-06-24

111 每月下载量
6 crate 中使用

MIT/Apache

9KB
154 代码行

嵌入式-nal-async-xtra

CI crates.io Documentation

包含一些特性,希望很快能以某种形式集成到 嵌入式-nal-async

理由

这些特性对于解锁某些crate在 edge-net 中的全部功能是必要的。具体包括

  • edge-mdns - 需要UDP多播能力
  • edge-dhcp - 需要原始以太网套接字能力,或者至少能够向/从由其MAC地址而非IP地址标识的同伴发送/接收UDP数据包
  • edge-http - (仅限完整服务器)需要一个绑定到服务器端TCP套接字的方法

TCP特性

  • TcpListen
    • 类似于STD的 std::net::TcpListener::bind 绑定方法的服务器端TCP套接字
  • TcpAccept
    • 类似于STD的 std::net::TcpListener 结构的服务器端TCP套接字

UDP特性

  • 多播
    • 允许订阅多播组的UDP套接字的额外特性
  • UnconnectedUdpWithMac
    • 允许向特定的以太网MAC地址广播数据包的未连接UDP套接字的额外特性
    • 此外,当接收数据包时,此特性还提供了发送者的MAC地址以及套接字地址

用于发送/接收原始以太网有效负载(即原始套接字)的特性

  • RawStack
    • UdpStack 精神相似,但允许发送/接收完整的 IPv4 和 IPv6 数据包,而不仅仅是 UDP 数据包
  • RawSocket
    • RawStack 的套接字类型。与 UnconnectedUdp 精神相似

依赖项

~265KB