pub struct ToolConcurrencyConfig {
pub max_concurrency: Option<usize>,
pub per_tool: HashMap<String, usize>,
pub backpressure: BackpressurePolicy,
}Expand description
Configuration for tool execution concurrency.
Controls how many tool calls can execute simultaneously, with support for global limits, per-tool overrides, and configurable backpressure behavior.
§Example
use adk_core::{BackpressurePolicy, ToolConcurrencyConfig};
use std::collections::HashMap;
let config = ToolConcurrencyConfig {
max_concurrency: Some(10),
per_tool: HashMap::from([
("web_scraper".to_string(), 2),
("calculator".to_string(), 8),
]),
backpressure: BackpressurePolicy::Fail,
};
assert_eq!(config.max_concurrency, Some(10));
assert_eq!(config.per_tool.get("web_scraper"), Some(&2));Fields§
§max_concurrency: Option<usize>Global maximum concurrent tool calls. None means unlimited.
per_tool: HashMap<String, usize>Per-tool concurrency overrides. When a tool name is present in this map,
its individual limit takes precedence over the global max_concurrency.
backpressure: BackpressurePolicyWhat to do when the concurrency limit is reached.
Trait Implementations§
Source§impl Clone for ToolConcurrencyConfig
impl Clone for ToolConcurrencyConfig
Source§fn clone(&self) -> ToolConcurrencyConfig
fn clone(&self) -> ToolConcurrencyConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ToolConcurrencyConfig
impl Debug for ToolConcurrencyConfig
Source§impl Default for ToolConcurrencyConfig
impl Default for ToolConcurrencyConfig
Source§fn default() -> ToolConcurrencyConfig
fn default() -> ToolConcurrencyConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ToolConcurrencyConfig
impl RefUnwindSafe for ToolConcurrencyConfig
impl Send for ToolConcurrencyConfig
impl Sync for ToolConcurrencyConfig
impl Unpin for ToolConcurrencyConfig
impl UnsafeUnpin for ToolConcurrencyConfig
impl UnwindSafe for ToolConcurrencyConfig
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