You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FreeDMR/docs/freedmr-2/adr/0005-mqtt-reporting-transpo...

1010 B

ADR 0005: MQTT Reporting Transport

Status

Proposed

Context

FreeDMR needs live local dashboard state and non-real-time global lastheard feeds without blocking packet handling.

Decision

MQTT is the preferred external live reporting transport, fed through a non-blocking bounded queue and independent publisher.

Rationale

MQTT is lightweight, familiar in radio/network operations, supports topics, retained state, last-will messages, and network fanout. A local broker lets extra consumers attach without adding work to the packet process.

Consequences

FreeDMR gains a broker dependency or optional integration. Reporting completeness is best-effort under pressure.

Compatibility

Legacy dashboard consumers need an adapter or dashboard update. Packet routing must continue if MQTT or consumers are unavailable.

Testing Requirements

Tests must cover enqueue, overflow/drop policy, publisher disconnect/reconnect events, retained state refresh, and packet-path non-blocking behaviour.

Powered by TurnKey Linux.