netbaiot-protocol
Public wire and domain types, stable errors, paths, and protocol version 1
Architecture
MQTT and TCP telemetry uses authenticated connections, versioned codecs and bounded memory routing. Business systems own durable data.
MQTT / TCP / UDP devices
|
v
transport framing and lifecycle
|
v
authentication / ACL / bound AuthContext
|
v
versioned DeviceCodec
|
v
DeviceEvent(event_id)
|
v
bounded EventBus and atomic required-sink admission
|
+------ confirmed HTTP webhook
|
+------ confirmed Business RPC streamThe workspace separates public protocols and clients from gateway runtime and transport implementation.
Public wire and domain types, stable errors, paths, and protocol version 1
Business HTTP APIs and confirmed event-stream ownership
Optional MQTT device client
Domain types and the synchronous DeviceCodec trait
Bounded vendor and device protocol codecs
Caches, admission, event routing, sessions, commands, and metrics
Embedded MQTT, framed TCP, UDP, ACLs, and connection owners
Validated composition, business sinks, listeners, and graceful shutdown
Demo, configuration, server, and operator CLI
The broker supports QoS 0, 1 and 2, retained messages, Will and persistent sessions within one process. Restart clears all MQTT state. MQTT QoS and business delivery are separate contracts.
v1/t/{tenant}/p/{product}/d/{device}/up
v1/t/{tenant}/p/{product}/d/{device}/up_ack
v1/t/{tenant}/p/{product}/d/{device}/down
v1/t/{tenant}/p/{product}/d/{device}/down_ackNo runtime state files, database, durable outbox or offline command storage. Planned shutdown waits for required sink ACKs in memory; a forced exit loses pending work.