#io #reconnect #tcp-stream #retry #tokio #stubborn #stubborn-tcp-stream

stubborn-io

自动从潜在断开/中断中恢复的io traits/structs

19次发布

0.3.5 2024年5月8日
0.3.4 2024年1月25日
0.3.3 2023年12月13日
0.3.2 2022年9月30日
0.1.0 2019年7月31日

185网络编程 中排名

Download history 4091/week @ 2024-04-22 3089/week @ 2024-04-29 3453/week @ 2024-05-06 3838/week @ 2024-05-13 3735/week @ 2024-05-20 4647/week @ 2024-05-27 4543/week @ 2024-06-03 4167/week @ 2024-06-10 4066/week @ 2024-06-17 3875/week @ 2024-06-24 4092/week @ 2024-07-01 4488/week @ 2024-07-08 3666/week @ 2024-07-15 3464/week @ 2024-07-22 3446/week @ 2024-07-29 3994/week @ 2024-08-05

每月15,061次下载
3 crates 中使用

MIT 许可证

32KB
615

stubborn-io

此crate提供自动从潜在断开/中断中恢复的io traits/structs。

要在您的项目中使用,请将以下内容添加到您的Cargo.toml中

stubborn-io = "0.3"

API文档、示例和动机可在此处找到 - https://docs.rs/stubborn-io .

使用示例

在这个示例中,我们将看到一个tokio的TcpStream的替代品,区别在于它会在连接失败时自动尝试重新连接。

use stubborn_io::StubbornTcpStream;
use tokio::io::AsyncWriteExt;

let addr = "localhost:8080";

// we are connecting to the TcpStream using the default built in options.
// these can also be customized (for example, the amount of reconnect attempts,
// wait duration, etc) using the connect_with_options method.
let mut tcp_stream = StubbornTcpStream::connect(addr).await?;
// once we acquire the wrapped IO, in this case, a TcpStream, we can
// call all of the regular methods on it, as seen below
tcp_stream.write_all(b"hello world!").await?;

依赖项

~3–11MB
~98K SLoC