├── .github ├── FUNDING.yml ├── assets │ └── logo.jpeg ├── dependabot.yml └── workflows │ ├── ci.yml │ └── publish.yml ├── .gitignore ├── .taplo.toml ├── AGENTS.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── backon-macros ├── Cargo.toml ├── README.md ├── examples │ ├── async_fn.rs │ ├── blocking_fn.rs │ └── method_self.rs ├── src │ └── lib.rs └── tests │ ├── cases │ ├── fail_adjust_blocking.rs │ ├── fail_adjust_blocking.stderr │ ├── fail_context_ident.rs │ ├── fail_context_ident.stderr │ ├── fail_context_value_self.rs │ ├── fail_context_value_self.stderr │ ├── fail_method_mut_context.rs │ ├── fail_method_mut_context.stderr │ ├── fail_method_self_context.rs │ ├── fail_method_self_context.stderr │ ├── pass_async.rs │ ├── pass_context.rs │ ├── pass_method_self.rs │ └── pass_sync.rs │ └── trybuild.rs ├── backon ├── Cargo.toml ├── LICENSE └── src │ ├── backoff │ ├── api.rs │ ├── constant.rs │ ├── exponential.rs │ ├── fibonacci.rs │ └── mod.rs │ ├── blocking_retry.rs │ ├── blocking_retry_with_context.rs │ ├── blocking_sleep.rs │ ├── docs │ ├── examples │ │ ├── basic.md │ │ ├── closure.md │ │ ├── custom_sleeper.md │ │ ├── inside_mut_self.md │ │ ├── mod.rs │ │ ├── retry_after.md │ │ ├── sqlx.md │ │ ├── wasm32_basic.md │ │ ├── with_args.md │ │ ├── with_mut_self.md │ │ ├── with_self.md │ │ └── with_specific_error.md │ └── mod.rs │ ├── embassy_timer_sleep.rs │ ├── lib.rs │ ├── retry.rs │ ├── retry_core.rs │ ├── retry_with_context.rs │ └── sleep.rs ├── rust-toolchain.toml └── rustfmt.toml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [Xuanwo] 2 | -------------------------------------------------------------------------------- /.github/assets/logo.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/.github/assets/logo.jpeg -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | /.idea 4 | -------------------------------------------------------------------------------- /.taplo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/.taplo.toml -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/AGENTS.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/README.md -------------------------------------------------------------------------------- /backon-macros/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/Cargo.toml -------------------------------------------------------------------------------- /backon-macros/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/README.md -------------------------------------------------------------------------------- /backon-macros/examples/async_fn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/examples/async_fn.rs -------------------------------------------------------------------------------- /backon-macros/examples/blocking_fn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/examples/blocking_fn.rs -------------------------------------------------------------------------------- /backon-macros/examples/method_self.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/examples/method_self.rs -------------------------------------------------------------------------------- /backon-macros/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/src/lib.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_adjust_blocking.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_adjust_blocking.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_adjust_blocking.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_adjust_blocking.stderr -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_context_ident.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_context_ident.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_context_ident.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_context_ident.stderr -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_context_value_self.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_context_value_self.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_context_value_self.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_context_value_self.stderr -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_method_mut_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_method_mut_context.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_method_mut_context.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_method_mut_context.stderr -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_method_self_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_method_self_context.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/fail_method_self_context.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/fail_method_self_context.stderr -------------------------------------------------------------------------------- /backon-macros/tests/cases/pass_async.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/pass_async.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/pass_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/pass_context.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/pass_method_self.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/pass_method_self.rs -------------------------------------------------------------------------------- /backon-macros/tests/cases/pass_sync.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/cases/pass_sync.rs -------------------------------------------------------------------------------- /backon-macros/tests/trybuild.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon-macros/tests/trybuild.rs -------------------------------------------------------------------------------- /backon/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/Cargo.toml -------------------------------------------------------------------------------- /backon/LICENSE: -------------------------------------------------------------------------------- 1 | ../LICENSE -------------------------------------------------------------------------------- /backon/src/backoff/api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/backoff/api.rs -------------------------------------------------------------------------------- /backon/src/backoff/constant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/backoff/constant.rs -------------------------------------------------------------------------------- /backon/src/backoff/exponential.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/backoff/exponential.rs -------------------------------------------------------------------------------- /backon/src/backoff/fibonacci.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/backoff/fibonacci.rs -------------------------------------------------------------------------------- /backon/src/backoff/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/backoff/mod.rs -------------------------------------------------------------------------------- /backon/src/blocking_retry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/blocking_retry.rs -------------------------------------------------------------------------------- /backon/src/blocking_retry_with_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/blocking_retry_with_context.rs -------------------------------------------------------------------------------- /backon/src/blocking_sleep.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/blocking_sleep.rs -------------------------------------------------------------------------------- /backon/src/docs/examples/basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/basic.md -------------------------------------------------------------------------------- /backon/src/docs/examples/closure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/closure.md -------------------------------------------------------------------------------- /backon/src/docs/examples/custom_sleeper.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/custom_sleeper.md -------------------------------------------------------------------------------- /backon/src/docs/examples/inside_mut_self.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/inside_mut_self.md -------------------------------------------------------------------------------- /backon/src/docs/examples/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/mod.rs -------------------------------------------------------------------------------- /backon/src/docs/examples/retry_after.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/retry_after.md -------------------------------------------------------------------------------- /backon/src/docs/examples/sqlx.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/sqlx.md -------------------------------------------------------------------------------- /backon/src/docs/examples/wasm32_basic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/wasm32_basic.md -------------------------------------------------------------------------------- /backon/src/docs/examples/with_args.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/with_args.md -------------------------------------------------------------------------------- /backon/src/docs/examples/with_mut_self.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/with_mut_self.md -------------------------------------------------------------------------------- /backon/src/docs/examples/with_self.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/with_self.md -------------------------------------------------------------------------------- /backon/src/docs/examples/with_specific_error.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/examples/with_specific_error.md -------------------------------------------------------------------------------- /backon/src/docs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/docs/mod.rs -------------------------------------------------------------------------------- /backon/src/embassy_timer_sleep.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/embassy_timer_sleep.rs -------------------------------------------------------------------------------- /backon/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/lib.rs -------------------------------------------------------------------------------- /backon/src/retry.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/retry.rs -------------------------------------------------------------------------------- /backon/src/retry_core.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/retry_core.rs -------------------------------------------------------------------------------- /backon/src/retry_with_context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/retry_with_context.rs -------------------------------------------------------------------------------- /backon/src/sleep.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/backon/src/sleep.rs -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Xuanwo/backon/HEAD/rustfmt.toml --------------------------------------------------------------------------------