1个不稳定版本
0.1.0 | 2022年11月17日 |
---|
在 异步 中排名 #1714
12KB
160 行
derive-tokio-io
派生 AsyncRead
和 AsyncWrite
。
用法
如果结构体只有一个字段,则对该字段派生 AsyncRead
和 AsyncWrite
。
use derive_tokio_io::{AsyncRead, AsyncWrite};
use tokio::net::TcpStream;
#[derive(AsyncRead, AsyncWrite)]
struct Wrapper {
stream: TcpStream,
}
支持泛型。
use derive_tokio_io::{AsyncRead, AsyncWrite};
#[derive(AsyncRead, AsyncWrite)]
struct Wrapper<IO> {
stream: IO,
}
如果结构体有多个字段,则每个字段都必须使用 #[async_read]
和 #[async_write]
一次。
use derive_tokio_io::{AsyncRead, AsyncWrite};
#[derive(AsyncRead, AsyncWrite)]
struct Wrapper<R, W> {
#[async_read]
reader: R,
#[async_write]
writer: W,
}
元组结构体也以相同的方式工作。
use derive_tokio_io::{AsyncRead, AsyncWrite};
#[derive(AsyncRead, AsyncWrite)]
struct Wrapper<R, W>(
#[async_read]
R,
#[async_write]
W,
);
许可证
本项目根据 MIT许可证 许可。
依赖关系
~1.5MB
~35K SLoC