pub struct TelemetrySink {
pub damage: Vec<DamageEvent>,
pub auras: Vec<AuraEvent>,
pub resources: Vec<ResourceEvent>,
pub cooldowns: Vec<CooldownEvent>,
pub casts: Vec<CastEvent>,
pub encounter: Vec<EncounterTelemetryEvent>,
pub targets: Vec<TargetMetadata>,
pub(crate) timeline_order: Vec<TimelineEventIndex>,
}Expand description
Collects per-iteration combat events for post-simulation analysis.
Fields§
§damage: Vec<DamageEvent>§auras: Vec<AuraEvent>§resources: Vec<ResourceEvent>§cooldowns: Vec<CooldownEvent>§casts: Vec<CastEvent>§encounter: Vec<EncounterTelemetryEvent>§targets: Vec<TargetMetadata>§timeline_order: Vec<TimelineEventIndex>Implementations§
Source§impl TelemetrySink
impl TelemetrySink
pub(crate) const DAMAGE_CAPACITY: usize = 1024
pub(crate) const AURA_CAPACITY: usize = 256
pub(crate) const RESOURCE_CAPACITY: usize = 512
pub(crate) const COOLDOWN_CAPACITY: usize = 128
pub(crate) const CAST_CAPACITY: usize = 512
pub(crate) const ENCOUNTER_CAPACITY: usize = 128
pub fn new() -> Self
pub fn clear(&mut self)
pub fn emit_damage(&mut self, event: &DamageEvent)
pub fn emit_aura_apply( &mut self, aura_id: u32, stacks: u8, time_ms: u32, scope: AuraTelemetryScope, )
pub fn emit_aura_refresh( &mut self, aura_id: u32, stacks: u8, time_ms: u32, scope: AuraTelemetryScope, )
pub fn emit_aura_expire( &mut self, aura_id: u32, time_ms: u32, scope: AuraTelemetryScope, )
pub fn emit_resource(&mut self, event: &ResourceEvent)
pub fn emit_cooldown_start( &mut self, spell_id: u32, duration_ms: u32, time_ms: u32, )
pub fn emit_cast( &mut self, spell_id: u32, time_ms: u32, gcd_ms: u32, scope: TelemetryScope, )
pub fn emit_encounter(&mut self, event: EncounterTelemetryEvent)
Sourcepub fn timeline_order(&self) -> &[TimelineEventIndex]
pub fn timeline_order(&self) -> &[TimelineEventIndex]
Stable insertion order shared by casts, damage, and encounter lifecycle events.
Sourcepub fn set_targets(&mut self, targets: Vec<TargetMetadata>)
pub fn set_targets(&mut self, targets: Vec<TargetMetadata>)
Install the deterministic encounter target dictionary for this iteration.
pub(crate) fn emit_aura(&mut self, event: AuraEvent)
Trait Implementations§
Source§impl Debug for TelemetrySink
impl Debug for TelemetrySink
Auto Trait Implementations§
impl Freeze for TelemetrySink
impl RefUnwindSafe for TelemetrySink
impl Send for TelemetrySink
impl Sync for TelemetrySink
impl Unpin for TelemetrySink
impl UnsafeUnpin for TelemetrySink
impl UnwindSafe for TelemetrySink
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