1 个不稳定版本
0.1.0 | 2024年6月24日 |
---|
#550 在 Unix API
用于 2 crates
25KB
411 行
管理组件传输协议(MCTP)使用Linux套接字
此crate提供对mctp
基础crate的实现,使用Linux套接字支持MCTP消息。
有关内核套接字支持的概述,请参阅https://codeconstruct.com.au/docs/mctp-on-linux-introduction/。
使用标准套接字API,我们实现了mctp::Endpoint
trait,允许上层在不需要套接字接口的更多细节的情况下实现MCTP应用程序。
lib.rs
:
基于Linux套接字的MCTP支持的接口。
此crate提供了一些标准libc
套接字操作的包装,使用MCTP特定的寻址结构。
MctpSocket
提供了对阻塞套接字操作sendto、recvfrom
和bind
的支持。
use mctp_linux;
let sock = mctp_linux::MctpSocket::new()?;
let bind_addr = mctp_linux::MctpSockAddr::new(
mctp::MCTP_ADDR_ANY.0,
mctp_linux::MCTP_NET_ANY,
1,
0
);
sock.bind(&bind_addr)?;
let mut buf = [0; 64];
let (len, src) = sock.recvfrom(&mut buf)?;
MctpLinuxEp
提供了一个轻量级的包装,表示一个远程端点,通过EID引用。它为与该端点进行通信创建一个套接字。这对于执行单端点通信的简单消费者来说是一种便利;一般的MCTP请求者可能需要不同的套接字模型。
依赖关系
~43KB