pub struct DccConfig {
pub tick_rate: u32,
pub telemetry_buffer_size: usize,
pub agent_lock_timeout_ms: u64,
pub memory_budget_bytes: Option<u64>,
pub frame_pid: PidConfig,
}Expand description
Configuration for the DCC Service.
Fields§
§tick_rate: u32Frequency of the analysis loop in Hz.
telemetry_buffer_size: usizeMaximum number of telemetry events to buffer. If the buffer is full, new events are dropped.
agent_lock_timeout_ms: u64Timeout for acquiring locks on agents during negotiation. If an agent lock cannot be acquired within this time, the agent is skipped.
memory_budget_bytes: Option<u64>Optional system-RAM budget in bytes. When set, the DCC derives
Context::memory_pressure from the tracking allocator’s live usage and
degrades frame budgets as the ceiling approaches. None disables the
signal — chiefly useful on memory-constrained targets.
frame_pid: PidConfigTuning for the frame-time PID that drives Context::global_budget_multiplier.
The defaults are conservative gains for the ~20 Hz cold path; expose this
to retune per target without touching the loop.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DccConfig
impl RefUnwindSafe for DccConfig
impl Send for DccConfig
impl Sync for DccConfig
impl Unpin for DccConfig
impl UnsafeUnpin for DccConfig
impl UnwindSafe for DccConfig
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