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.
23 lines
1010 B
23 lines
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.
|