Skip to content

Feature request: db and datapoint throttling #163

@tfa2si

Description

@tfa2si

We'd like to propose adding two complementary throttling features to improve safety, security, and resource efficiency in time‑critical vehicle systems:

  1. Global DB throttling (--db-throttle-ms)

    Purpose: Enforce a minimum interval between any consecutive write operations to the database.

    Behavior:

     Introduce a new launch option --db-throttle-ms <N>.
    
     When enabled, the broker will delay or reject any write request that occurs less than N ms after the previous one.
     Disabled with 0
    

    Default: --db-throttle-ms defaults to 10 ms, to provide sensible behavior out-of-the-box while still configurable.

  2. Per‑datapoint throttling parameter in VSS metadata

    Purpose: Allow different VSS signals to have individualized update frequency limits.

    Enhancement: Extend VSS metadata schema to include an optional throttle_ms parameter on datapoint definitions.

    Behavior:

    When present, this value overrides the global throttle for writes to that specific datapoint.
    
    If omitted, falls back to the global --db-throttle-ms value.
    

Benefits

Safety: Prevents excessive control-actuator updates that could cause oscillation or electronic noise.

Security: Throttles attackers/bad actors attempting to flood the broker with high-frequency writes.

Performance: Enforces predictable system load and avoids write queue congestion.

Flexibility: Per-datapoint control ensures critical/throttled signals can be handled separately from less-sensitive ones.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions