# Go MQTT Vending Backend Resources ## Knowledge - [Go `net/http` package](https://pkg.go.dev/net/http) Primary API reference for `ServeMux`, request path values, handlers, server timeouts, and shutdown; use when implementing or reviewing the HTTP boundary. - [Go 1.22 routing enhancements](https://go.dev/blog/routing-enhancements) Go team's explanation of method-aware routes and path wildcards; use to understand patterns such as `POST /devices/{deviceID}/commands`. - [RFC 9110, HTTP Semantics](https://datatracker.ietf.org/doc/rfc9110/) Normative definition of HTTP status semantics, including 202 Accepted; use when designing API responses for asynchronous device work. - [OASIS MQTT Version 5.0 Standard](https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) Normative MQTT 5 packet and reason-code behavior; use to distinguish a QoS 1 PUBACK from application-level device completion. - [Repository Section 8 — HTTP commands](course-source/08-http-commands.md) The existing end-to-end lab implementation and exercises; use as the code reference after attempting the focused teaching lesson. - [Repository Sections 4–5 — topics, contracts, and validation](course-source/04-publish-subscribe-simulator.md) Section 4 defines the topic hierarchy and typed builders; Section 5 provides the complete payload contracts, topic parsing, decoding, and validation examples. - [Repository Section 5A — backend message processing](course-source/05a-backend-message-processing.md) Complete heartbeat service/store slice and freshness semantics for the application boundary lesson. - [Repository Section 6 — concurrency and cancellation](course-source/06-concurrency-cancellation.md) Bounded queue, dispatch routing, acknowledgement timing, and shutdown implementation. - [Repository Section 7 — command/response](course-source/07-command-response.md) Command state machine, correlation, device deduplication, and failure cases. - [Go `context` package](https://pkg.go.dev/context) Standard cancellation and deadline propagation used by workers and MQTT operations. - [Go `sync` package](https://pkg.go.dev/sync) Mutex and synchronization semantics for the shared application stores and pool lifecycle. - [Paho Go MQTT v0.23.0](https://pkg.go.dev/github.com/eclipse/paho.golang/paho@v0.23.0) Version-pinned MQTT 5 client API reference; use the matching package docs and source when interpreting callback and acknowledgement behavior. ## Wisdom (Communities) - [Go Forum](https://forum.golangbridge.org/) Community discussion for Go design and debugging questions; bring a minimal reproducer and explain what evidence you observed. ## Gaps - The HTML lessons focus on one skill at a time; use the matching Markdown source for full implementation and tests. - The first pass does not claim mastery. Select the next lesson or review based on the learner's answers and code exercise.