pub struct RetryBudget {
pub max_retries: u32,
pub delay: Duration,
}Expand description
Core traits and types.
Always available regardless of feature flags. Includes:
Agent- The fundamental trait for all agentsTool/Toolset- For extending agents with capabilitiesSession/State- For managing conversation contextEvent- For streaming agent responsesAdkError/Result- Unified error handling Configuration for automatic tool retry on failure.
Controls how many times a failed tool execution is retried before propagating the error. Applied as a flat delay between attempts (no exponential backoff in V1).
§Example
use std::time::Duration;
use adk_core::RetryBudget;
// Retry up to 2 times with 500ms between attempts (3 total attempts)
let budget = RetryBudget::new(2, Duration::from_millis(500));
assert_eq!(budget.max_retries, 2);Fields§
§max_retries: u32Maximum number of retry attempts (not counting the initial attempt).
E.g., max_retries: 2 means up to 3 total attempts.
delay: DurationDelay between retries. Applied as a flat delay (no backoff in V1).
Implementations§
Source§impl RetryBudget
impl RetryBudget
Trait Implementations§
Source§impl Clone for RetryBudget
impl Clone for RetryBudget
Source§fn clone(&self) -> RetryBudget
fn clone(&self) -> RetryBudget
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 moreAuto Trait Implementations§
impl Freeze for RetryBudget
impl RefUnwindSafe for RetryBudget
impl Send for RetryBudget
impl Sync for RetryBudget
impl Unpin for RetryBudget
impl UnsafeUnpin for RetryBudget
impl UnwindSafe for RetryBudget
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::RequestCreates a shared type from an unshared type.