pub struct PushRetryPolicy {
pub max_attempts: usize,
pub backoff: Vec<Duration>,
}Expand description
Retry policy for push notification delivery.
§Example
use a2a_protocol_server::push::PushRetryPolicy;
let policy = PushRetryPolicy::default()
.with_max_attempts(5)
.with_backoff(vec![
std::time::Duration::from_millis(500),
std::time::Duration::from_secs(1),
std::time::Duration::from_secs(2),
std::time::Duration::from_secs(4),
]);Fields§
§max_attempts: usizeMaximum number of delivery attempts before giving up. Default: 3.
backoff: Vec<Duration>Backoff durations between retry attempts. Default: [1s, 2s].
If there are fewer entries than max_attempts - 1, the last duration
is repeated for remaining retries.
Implementations§
Source§impl PushRetryPolicy
impl PushRetryPolicy
Sourcepub const fn with_max_attempts(self, max: usize) -> Self
pub const fn with_max_attempts(self, max: usize) -> Self
Sets the maximum number of delivery attempts.
Sourcepub fn with_backoff(self, backoff: Vec<Duration>) -> Self
pub fn with_backoff(self, backoff: Vec<Duration>) -> Self
Sets the backoff schedule between retry attempts.
Trait Implementations§
Source§impl Clone for PushRetryPolicy
impl Clone for PushRetryPolicy
Source§fn clone(&self) -> PushRetryPolicy
fn clone(&self) -> PushRetryPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PushRetryPolicy
impl Debug for PushRetryPolicy
Auto Trait Implementations§
impl Freeze for PushRetryPolicy
impl RefUnwindSafe for PushRetryPolicy
impl Send for PushRetryPolicy
impl Sync for PushRetryPolicy
impl Unpin for PushRetryPolicy
impl UnsafeUnpin for PushRetryPolicy
impl UnwindSafe for PushRetryPolicy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request