Skip to main content

swarm_engine_core/orchestrator/
config.rs

1//! Orchestrator の設定と結果型
2
3use std::time::Duration;
4
5use crate::agent::ManagementStrategy;
6
7/// Swarm 実行結果
8#[derive(Debug, Clone, Copy)]
9pub struct SwarmResult {
10    pub total_ticks: u64,
11    pub total_duration: Duration,
12    pub completed: bool,
13}
14
15/// Swarm 設定
16#[derive(Debug, Clone)]
17pub struct SwarmConfig {
18    /// Tick間隔(デフォルト: 10ms)
19    pub tick_duration: Duration,
20    /// 最大Tick数(0 = 無制限)
21    pub max_ticks: u64,
22    /// Manager 起動戦略
23    pub management_strategy: ManagementStrategy,
24}
25
26impl Default for SwarmConfig {
27    fn default() -> Self {
28        Self {
29            tick_duration: Duration::from_millis(10),
30            max_ticks: 0,
31            management_strategy: ManagementStrategy::FixedInterval { interval: 10 },
32        }
33    }
34}