//! A service combinator that sends requests to a first service, then retries //! processing on a second fallback service if the first service errors. //! //! Fallback designs have [a number of downsides][aws-fallback] but may be useful //! in some cases. For instance, when using batch verification, the `Fallback` //! wrapper can be used to fall back to individual verification of each item when //! a batch fails to verify. //! //! TODO: compare with similar code in linkerd. //! //! [aws-fallback]: https://aws.amazon.com/builders-library/avoiding-fallback-in-distributed-systems/ pub mod future; mod service; pub use self::service::Fallback; /// A boxed type-erased `std::error::Error` that can be sent between threads. pub type BoxedError = Box;