Skip to main content
Corvus Connection

TriggerControl

Attribute
TheOmenDen.StreamPulse.Scripting.Attributes.TriggerControlAttributeDeclares per-trigger firing controls on a handler: a cooldown (global and/or per-user), a debounce window, a dedupe key, and a max-concurrency cap. The host enforces them around the invocation — a suppressed fire (cooldown active, duplicate key) simply never runs; a debounced burst is coalesced to its latest payload. All properties default to "off", so an attribute with no values is inert.

Members

5
  • CooldownSeconds
    property
    int CooldownSeconds
    After a fire, suppress further fires for this many seconds. 0 (default) = no cooldown.
  • PerUserCooldownSeconds
    property
    int PerUserCooldownSeconds
    As CooldownSeconds but keyed by the triggering user. 0 (default) = none.
  • DebounceMilliseconds
    property
    int DebounceMilliseconds
    Collapse a burst into one fire with the latest payload after this quiet window in milliseconds. 0 = none.
  • DedupeKey
    property
    string DedupeKey
    A trigger-context property path (e.g. "MessageId", "User.UserId") whose value de-duplicates fires within the dedupe window. null/empty (default) = no dedupe.
  • MaxConcurrency
    property
    int MaxConcurrency
    Cap simultaneous in-flight runs of this handler (1 = serialize). 0 (default) = unbounded.