retry
Crate retry
provides utilities for retrying operations that can fail.
Documentation
retry has comprehensive documentation available on docs.rs.
Legal
retry is released under the MIT license.
See LICENSE
.
Crate retry
provides utilities for retrying operations that can fail.
retry has comprehensive documentation available on docs.rs.
retry is released under the MIT license.
See LICENSE
.
Collection of the latest Issues
IGI-111
I just came across this library and I definitely would want to use it but I can't because it doesn't support futures.
I know there are a couple of implementations as PRs already but I'm opening this to push for a decision now that the async ecosystem is probably mature enough.
dtolnay
It appears that nothing in this crate ever constructs the Error::Internal
variant.
It's not clear what its purpose is. If an "error in the internal logic" refers to the possibility of a bug in the logic of retry
, the appropriate way to report that is via panic, not an error variant. Panics indicate bugs in the program; errors indicate expected runtime failure modes in a correct program.
mmstick
srijs
I've been prototyping some ideas on how to provide a tokio middleware for that handles retries. I'd like to get this in for the async release, because it might have consequences on the API design for RetryFuture
.
jimmycuadra
There are a few basic tests right now, but they don't cover all the functionality of the crate, nor do they necessarily really prove that the feature they're supposedly testing does what it's supposed to do.
Find the latest versions by id
Improvements:
New features:
retry::OperationResult
now has predicate methods to check for a specific variant:
is_ok
is_retry
is_err
Improvements:
Bug fixes:
retry::Error
now correctly displays the error it wraps when printed. (#35)Improvements:
New features:
retry::delay::Exponential::from_millis_with_factor
is added to support a configurable multiplication factor for exponential delays.retry
's API is now stable for the 1.0 series.
New features:
retry_with_index
function that works like retry
, but passes the number of the current try (as u64
) as an argument to the supplied closure.Improvements:
retry::delay::{Exponential, Fibonacci}
now implement From<std::time::Duration>
.retry::delay::Range
now implements From<std::ops::Range<std::time::Duration>>
and From<std::ops::RangeInclusive<std::time::Duration>>
.Improvements:
Fixed
delay now implements From<Duration>
.Breaking changes:
New features:
OperationResult
type allows for returning an error immediately, halting all retry behavior.Breaking changes:
u32
values as arguments now take u64
values instead.New features:
retry_exponentially
, is similar to the retry
function but uses an f64
wait value as the multiplier for exponential backoff.Retry
builder type:
timeout
for setting the maximum amount of time before failure.wait_between
for adding some random jitter to the amount of delay between each try.wait_exponentially
for waiting exponentially longer with each try.Improvements:
std::thread::sleep_ms
have been replaced with std::thread::sleep
.Retry
type for incrementally building a retryable operation. Currently, this allows for retrying an operation infinitely. Soon it will allow for more customizations of behavior.retry
function's times
argument is now a u32
instead of a usize
.0
Rust library for the Pimoroni Four Letter pHAT
This library aims to port ht16k33 (or rather a fork, as of right now) so credit goes to ht16k33-diet
12
Rust library for emulating 32-bit RISC-V
This library can execute instructions against any memory and register file that implements
150
Rust library for connecting to the IPFS HTTP API using Hyper/Actix
You can use actix-web as a backend instead of hyper
Rust library to manipulate file system access control lists (ACL) on macOS, Linux, and FreeBSD
This module provides two high level functions, getfacl and setfacl
384
Rust library translation (rust-src/rust-std/stdlib/rustlib translation)
This is the place to translate Having a documentation in your native language is essential if you don't speak English, and still enjoyable even if...
37
Rust library for using Infrared hardware decoders (For example a Vishay TSOP* decoder),
enabling remote control support for embedded project
4
Rust library for interaction with the OriginTrail Decentralized Knowledge Graph
open up an issue on this repository and let us know
Rust library for parsing COLLADA files
Notice: This library is built around files exported from Blender 2
21
Rust library for low-level abstraction of MIPS32 processors
This project is licensed under the terms of the MIT license